본문 바로가기
반응형

분류 전체보기976

자연어 처리(Natural Language Processing, NLP) - transformers 기초, Bert 감정 분류 예제 Transformers 라이브러리?transformers는 딥러닝 기반의 자연어 처리(Natural Language Processing, NLP) 작업을 위한 파이썬 라이브러리이다.주로 최신의 자연어 처리 모델들을 구현하고 사용할 수 있도록 도와준다.Transformers 라이브러리는 Hugging Face라는 회사에서 개발하고 유지 관리하고 있으며, 다양한 언어 모델과 사전 훈련된 가중치를 제공합니다. 가장 유명한 모델로는 BERT, GPT, GPT-2, RoBERTa, XLNet, DistilBERT 등이 있다. Transformers 라이브러리를 사용하면 다음과 같은 작업을 수행할 수 있다.토큰화(Tokenization): 자연어 문장을 작은 단위로 분리하여 모델에 입력할 수 있는 형태로 변환한다... 2024. 8. 11.
기계학습(ML) - epoch, batch size, iteration 기본 의미 기계학습을 진행하면, 코드로 사용하다보면,  epoch, batch, iteration 이라는 파라미터를 볼 수 있느데,  학습을 시작할때 자주 사용되는 용어인 epoch, batch, iteration 에 대해 알아보고자 한다.기계 학습은 데이터를 학습해서 결과를 만들어 내는 과정이라고 할 수 있다.이때 학습할 데이터의 양과 학습 횟수등에 따라서 결과가 달라지게 되는데, 예를 들어보면 다음과 같다.철수 - 172양희 - 140성희 - 330국희 - 10하나 - 400 위와 같은 데이터를 가지고 선형 회계 예측 알고리즘을 이용한다고 생각해보다.만약 국희 라는 데이터가 어떻게 들어가느냐에 따라서 데이터 결과가 달라지기 때문에, 여러번 학습을 해서 데이터의 외곡을 줄이는 게 중요할 수 있지만, 반대로 데이터.. 2024. 8. 11.
자연어 기계학습(ML/Transformer) - temperature, top 파라메터 의미 무엇인가를 사용하고자 한다면, 각 기능의 옵션을 이해할 필요성이 있다.오늘은 자연어 기계 학습에서 최근 각광 받고 있는 Transformer의 파라메터중 temperature와 top은 이 둘은 밀접관 관계가 있다. 그래서 지금 이 둘의 의미에 대해 다루어보고자 한다.그렇게 어렵게 생각할 개념은 아니기 때문에 쉽게 이해가 가능할 것이라고 생각된다.자연어 처리는 input과 output이 존재 하는데, OpenAI기준으로 Prompt 를 입력하면 결과를 출력해주게 된다.OpenAI의 API에서도 temperature와 top 이라는 파라메터가 존재하는데 다음과 같은 의미이다.top 결과를 출력하고자 할때 기계학습은 하나의 결과를 선택하게 된다. 이때 각 데이터의 학습에 따라 가장 적절하고 판단하는 scor.. 2024. 8. 11.
Transformer(Bert/GPT) - Self-Attention, Multi-head Attention 이해 Transformer 모델이란?번역 모델 연구를 통해 나온 모델 (Seq2Seg 기반 모델 )문장 속 단어와 같은 순차 데이터 내의 관계를 학습을 통해 파악해 순차 정보의 맥락과 의미를 학습하는 신경망 모델이라고 할 수 있다.Attention을 가장 중요하게 보는 단어간의 관계를 학습하는 모델로써,  Seq2Seq과 유사한 모델이라고 하였는데, Seq2Seq는 번역을 할때 가장 많이 지정되는 상대 언어의 단어와 점수 차이라고 한다면, Transformer는 Self-Attention은 같은 언어에서의 관계를 다루게 된다는 점이 매우 유사한 점이라고 할 수 있다. 위 내용을 구조를 보면, Multi-Head Attention 이라는 내용이 나오는데 이는 Self-Attention은 병렬로 진행하여 Head.. 2024. 8. 11.
Splunk - Custom Search Commands 에서 Debug log 활성화 Splunk 개발을 진행할 때 오류가 날 경우 로그를 통해서 파악하는 것이 유용하다. 이때 사용이 용이한 방법으로 바로 noop log_DEBUG=* 를 통해 Debug 로그를 활성화 할 수 있다.  문제가 있는 명령을 실행하고 뒤에 파이프라인을 통해 | noop log_DEBUG=*  를 입력하면 Debug 로그가 활성화 된 상태로 실행된다.이후 작업 검사에서 search.log 내용을 확인하여 명령의 문제점을 보다 쉽게 파악이 가능하다.이외에도 Debug 로그를 활성화 하는 방법은 아래 문서에서 확인이 가능하다.Turn on debug logging in Splunk Enterprise Security - Splunk Documentation 2024. 8. 11.
LoRA(Low-Rank Adaptation) - Fine-Tuning 최적화 최근 모델이 거대해 지면이 이를 잘 활용할 수 있는 Fine-Tuning에 집중되고 있는 것 같다.Huggingface도 Parameter-Efficient Fine-Tuning(PEFT) 를 통해 거대 모델을 자신이 알맞게 사용할 수 있도록 Fine-Tuning을 지원해주고 있는데, Transformer 모델 관련하여 2021년 Microsoft에서 공개한 LoRA모델이 PEFT로 큰 인기를 끌고 있어 이를 조사한 내용을 정리해 본다.Row-Rank - rRank는 매트릭스의 기준이 되는 차원으로, 의미가 있는 정보/핵심 정보를 의미한다.여기에 Row를 붙여 Row-Rank, 적은 핵심 정보를 의미한다.LoRA모델은dxd 를 A(dxr) x B(rxd) = dxr 를 통해 배열 곱을 하여 를 통해 핵심.. 2024. 8. 11.
NTP(Next Token Prediction) 모델 이해 NTP(Next Token Prediction)는 GPT에서 사용되는 방법으로 다음 단어를 예측하는 Transformer의 Decoder부분을 의미 한다.즉 다음 예측 단어가 기존에 주어진 단어와의 가중치를 계산해 가장 가중치가 높은 단어를 제공하는 방식을 의미한다.이 모델은 GPT에서 사용하는 모델로, 다음 단어를 생성하는 능력이 좋은 모델이라고 할 수 있다. 2024. 8. 11.
Masked Language Modeling(MLM) 모델 이해 특정 단어를 Mask(숨김)후 이를 맞추는 모델로써, BERT모델에서 사용 가능한 사전 학습 모델로, MLM(Masked Language Modeling)은 [MASK] 이전, 이후 정보를 모두 활용하여 사전 학습을 하는 양방향 학습 구조를 가진다.입력된 문장에서 특정 단어를 [MASK] 한 후 맞추는 방식으로 학습을 진행하게 되는데, 입력된 문장에서 임의로 15% 단어를 선택하고 예측을 진행하게 된다. 이에 대해 다음과 같은 비율로 학습 규칙이 적용된다.신경망에서 학습 되는 비율은 80% 단어에 대해 [MASK]를 진행하고, 10% 단어는 무작위로 변경되며, 나머지 10%는 유지되는 방식이다.이렇게 전체를 [MASK] 하지 않으면, [MASK] 토큰이 파인 튜닝 단계에서는 나타나지 않으므로 사전 학습 .. 2024. 8. 11.
딥러닝 - 뉴런(Neuron)이란? 개념 이해 딥러닝하면 인공 신경망과 큰 관계가 있다.딥러닝은 기본적으로 기계가 인간 처럼 학습하기를 바라면서 기술이 발전한 것이라고 할 수 있다.즉 인간의 신경망의 입력에 따른 변화처럼 기계도 신경망을 가지고 입력에 따라서 변화하는 것을 재현한 것이 바로 뉴런(Neuron)이라고 할 수 있다. 인간의 신경과 같이 여러 입력에 따라서 변화하는 신경 조직을 뉴런이라고 할 수 있다.이러한 신경조직을 기계에게 적용해보고 싶다고 출발한 것이 바로 신경망인 Neuron Network 으로 기계에게 적용하기 위해 만들었기 때문에 인위적으로 만들었기 때문에 인공 신경망이라고 한다.즉 다양한 입력에 신경이라는 Neuron을 합하여, 신경을 업데이트하고, 이 결과를 출력해주는 것이다.아주 간단한 구조로 입력 부터 순차적으로 설명해 .. 2024. 8. 11.
반응형