22강. 자연어 처리(NLP)와 거대 언어 모델(LLM)
추천글 : 【알고리즘】 알고리즘 목차
1. 자연어 처리 [본문]
2. 거대 언어 모델 [본문]
3. 생물정보학과 언어 모델 [본문]
a. 프롬프트 엔지니어링
c. LLM 관련 탐구 주제
1. 자연어 처리(natural language processing, NLP) [목차]
⑴ 정의 : 텍스트 기반의 인공지능 모델
⑵ 텍스트 전처리 : 비정형 텍스트를 컴퓨터가 인식하게 하기 위해 수행하는 전처리
① 토큰화(tokenization)
○ 문장 혹은 말뭉치(corpus)에서 최소 의미 단위인 토큰으로 분할하여 컴퓨터가 인식하도록 하는 방법
○ 영어 : 주로 띄어쓰기 기준으로 나눔
○ 75개의 영단어 ≃ 100개의 토큰
○ 예 : I / ate / noodle / very / deliciously
○ 한글 : 주로 단어 안의 형태소를 기준으로 나눔
○ 예 : 나 / 는 / 국수 / 를 / 매우 / 맛있게 / 먹었다
○ 예 : OpenAI Tokenizer
② 품사 태깅(POS tagigng, part of speech tagging)
○ 형태소의 품사를 태깅하는 기법
③ 표제어 추출(lemmatization)
○ 단어들로부터 표제어(사전어)를 찾는 기법
○ 예 : am, are, is → be
④ 어간 추출(stemming)
○ 단어에서 접두사 및 접미사를 제거하여 어간을 획득하는 기법
⑤ 불용어(stopword) 처리
○ 조사, 접미사 같은 실제 의미 분석을 하는 데 거의 기여하지 않는 단어를 처리하는 기법
⑶ 텍스트 마이닝(text mining)
① 토픽 모델링
○ 기계학습 및 자연어 처리 분야에서 토픽이라는 문서 집합의 추상적인 주제를 발견하기 위한 통계적 모델 중 하나
○ 텍스트 본문의 숨겨진 의미 구조를 발견하기 위해 사용됨
② 워드 클라우드
○ 자연어 처리를 통해 사람들의 관심사 또는 빈도수를 단순 카운트하여 시각화
③ 소셜 네트워크 분석(SNA, social network analysis)
○ 그룹에 속한 사람들 간의 네트워크 특성과 구조를 분석하고 시각화하는 분석 기법
④ TF-IDF(term frequency-inverse document frequency)
○ 여러 문서로 이루어진 문서 군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지 추출하는 기법
⑷ 트랜스포머(transformer)
① 문제 정의 : 다음 단어 예측
Figure. 1. 트랜스포머 문제 정의
② 단계 1. 문장을 여러 개의 토큰으로 분리하고 각 토큰을 임베딩 스페이스(embedding space) 위에 올림
Figure. 2. 토큰 임베딩(token embedding)
③ 단계 2. 각 단어 별로 attention weight를 부여하면 다음 단어 예측을 할 수 있음
Figure. 3. attention weight와 다음 단어 예측
④ 단계 3. attention multilayer perceptron으로 attention weight를 보정할 수 있음
Figure. 4. attention multilayer perceptron
⑤ 단계 4. attention, multilayer percentron을 serial 하게 붙임으로써 계속 문장을 생성할 수 있음
○ To date, the cleverest thinker of all time was ___ → undoubtedly
○ To date, the cleverest thinker of all time was undoubtedly ___ → Einstein
○ To date, the cleverest thinker of all time was undoubtedly Einstein, ___ → for
Figure. 5. serical circuit of attention and perceptrons
⑸ 자연어 처리 모델
① 종류 1. LSA(latent semantic analysis)
② 종류 2. PLSA(probabilistic latent semantic analysis)
③ 종류 3. LDA(latend dirichlet allocation)
○ 생성형 확률 모델
○ reference 없이 deconvolution을 할 때에도 사용할 수 있음 (ref)
⑹ 자연어 모델의 평가 (ref)
① parallel text dataset : Canadian Parliament (영어 ↔ 프랑스어), European Parliament (여러 언어 지원)
② SNS
③ Bleu score (ref)
④ perplexity
2. 거대 언어 모델(large language model, LLM) [목차]
⑴ 정의 : 파라미터의 수가 billion 단위인 자연어 처리 모델
① 파라미터의 수를 세는 방법은 다음을 참고
② 용어 1. 7B, 13B, 30B, 65B의 의미 : 자연어 모델을 구성하는 파라미터 개수가 7 billion, 13 billion, 30 billion, 및 65 billion이라는 것
③ 용어 2. token : 모델이 처리하는 텍스트의 단위
○ word-level tokenization : [ChatGPT, is, an, AI, language, model, .]
○ subword-level tokenization : [Chat, G, PT, is, an, AI, language, model, .]
○ character-level tokenization : [C, h, a, t, G, P, T, , i, s, , a, n, , A, I, , l, a, n, g, u, a, g, e, , m, o, d, e, l ]
④ 용어 3. 0-shot, 1-shot, 5-shot, 64-shot 등의 의미 : 하나의 task 당 주어지는 예시의 개수를 의미
○ 0-shot prompting
Q: <Question>?
A:
○ few-shot prompting
Q: <Question>?
A: <Answer>
Q: <Question>?
A: <Answer>
Q: <Question>?
A: <Answer>
Q: <Question>?
A:
⑵ 종류
① GPT, GPT-2, GPT-3, GPT-J, GPT-Neo, GPT-3.5, GPT-4
② Gopher
④ Flan, PaLM, Flan-PaLM
⑤ OPT-IML
⑥ LLaMA, LLaMA2 : 설치형 모델. Meta에서 개발
⑦ Alpaca
⑩ ollama : 다음 LLM들을 모두 지원
○ Llama2 (7B)
○ Mistral (7B)
○ Dolphin Phi (2.7B)
○ Phi-2 (2.7B)
○ Neural Chat (7B)
○ Starling (7B)
○ Code Llama (7B)
○ Llama2 Uncensored (7B)
○ Llama2 (13B)
○ Llama2 (70B)
○ Orca Mini (3B)
○ Vicuna (7B)
○ LLaVA (7B)
⑪ AlphaGeometry : symbolic deduction을 구현하여 IMO 수준의 기하 문제를 풀 수 있음
⑫ 기타 유용한 생성형 AI 툴
○ GitHub Copilot
○ SciSpace / typeset.io
○ Elicit.com
⑶ 주요 파라미터
① temperature = 0 : 매우 결정론적 출력을 생성
② max_tokens API Call settings = 100 : 100 토큰까지의 응답이 capped
③ top_p = 1.0 : 모든 가능한 토큰을 사용하여 응답을 생성
④ frequency_penalty = 0.0 : 자연스럽게 반복되는 토큰을 피하지 않음
⑤ presence_penalty = 0.0 : 토큰 재사용에 대한 벌칙이 적용되지 않음
⑷ 프로그래머의 역할
① 역할 1. LLM 모델의 개발 : 현실적이지는 않음
○ LLM 모델 개발은 상당한 규모의 서버가 필요하므로 OpenAI, Meta, Google 정도 규모가 아니면 어려움
○ 심지어 Naver, Kakao도 그 규모를 달성하지 못함
○ OpenAI, Meta, Google 등이 힘을 합치지 않는 한 ChatGPT 4.0이 최종 버전의 LLM이라고 예측하는 사람들도 있음
② 역할 2. fine-tuning
○ 모델은 이미 정해져 있고, 특정 학습 데이터를 많이 제공하여 특정 분야에 적합한 모델로 개선하는 것
○ 예 : ChatGPT fine-tuning
③ 역할 3. DB에서 크롤링 후 LLM으로 태그
④ 역할 4. 프롬프트 엔지니어링
⑤ 역할 5. 이미 정해져 있는 모델을 다른 프론트엔드, 백엔드와 붙여서 여러 서비스에 활용
⑸ ChatGPT의 단점
① 이미지를 처리하지 못함
② 최신성이 없음 : 파라미터 튜닝으로 해결할 수는 없음
③ 창의성이 없음 : 평균만을 추구하므로
④ 실제 세계를 이해하지 못함 : 양자역학이 지배하는 실제 세계와 반도체가 지배하는 사이버 공간은 차이가 있기 때문
3. 생물정보학과 언어 모델 [목차]
Figure. 6. 생물정보학과 언어 모델
⑴ BioBERT
⑵ BioNER
⑶ SQuAD
⑷ BioASQ
⑸ PubMedGPT (BioMedLM)
⑹ BioGPT
⑺ scBERT
⑻ GPT-Neo
⑼ PubMedBERT
⑽ BioLinkBERT
⑾ DRAGON
⑿ BioMedLM
⒂ tGPT
⒃ CellLM
⒅ scGPT
⒇ CellPLM
입력: 2021.12.11 17:34
수정: 2023.05.18 11:36
'▶ 자연과학 > ▷ 알고리즘·머신러닝' 카테고리의 다른 글
【알고리즘】 17강. RNN 알고리즘 (0) | 2023.06.27 |
---|---|
【알고리즘】 22-1강. 프롬프트 엔지니어링 (0) | 2023.04.03 |
【알고리즘】 7-2강. UMAP(uniform manifold approximation and projection) (0) | 2022.05.19 |
【알고리즘】 27강. 기타 알고리즘 (0) | 2022.01.11 |
【알고리즘】 12-1강. DIP(Deep Image Prior) (0) | 2021.12.31 |
최근댓글