2. 발표의 변
• 다들 프로젝트 결과를 이야기할 때, 이론적인 이야기를 하자니 부끄럽습니다.
• 그래도 다른 분들의 발표를 듣기 전에 좋은 밑거름이 되면 좋겠습니다.
• 너무 빠르게 바쁘게 변화하고 흘러가는 요새 흐름 속에서,
• 뭔가를 정리하고, 예측한다는 것이 섣부른 일이 될 것 같아 무섭지만
• 정신 없이 흘러가는 이런 때일수록, 되짚어볼 수 있는 좋은 시간이 되었으면 합니다.
3. 목차
1. 자연어처리의 흐름
2. LLM의 흐름
3. LLM의 능력
4. Chain of Thought
5. 앞으로의 방향
• Autonomous Agents
• EFT Explanation Fine-Tuned SLLM의 필요성
• 한국어 SLLM 구축
4. 딥러닝을 활용한 자연어처리의 흐름
NLU (2011~)
•자연어 to 벡터: 문장에서 적절한 수치 값을 뽑아내자
•Word2Vec, 텍스트 분류
NLG (2015~)
•벡터 to 자연어: 수치 값에서 적절한 문장을 생성하자
•Sequence-to-Sequence, Transformers, 기계번역
PLM (2018~)
•더 적은 데이터로 더 나은 문제 해결 능력을 만들자
•BERT
LLM (2020~)
•데이터가 (거의) 없을 때에도 문제를 해결할 수 있도록 하자
•GPT-3
5. LLM의 흐름
거대화 (~2021)
•PLM으로부터 이어지는 거대화 경쟁
•GPT-3
소형화 (2022~)
•Scaling law에 따른 모델 크기 대비 학습 데이터 최적화
•Chinchilla
Instruction Tuning (2022~)
•실제 용도에 부합하도록 파인튜닝: 같은 크기에서 더 나은 성능
•InstructGPT
Better Reasoning (2022~)
•단계별 추론을 통해 정답 확률 향상: 같은 모델에서 더 나은 성능
•CoT, Orca
9. 자연어는 모호함을 담고 있다
• 사람의 언어는 한정된 시간 안에 많은 정보를 전달하도록 진화
• 따라서 효율성 극대화를 위해, 생략 가능한 정보는 최대한 생략
• 생략 가능한 정보의 예:
• 상식
• 화자간/사회적 합의
• 선행 문맥에서 이미 나온 정보
• 사람은 일반화 능력이 뛰어나므로, 생략된 정보를 메울 수 있는 능력이 있음
• 생략된 정보를 메우고, 이를 바탕으로 질문/요청에 응답할 수 있다.
• 못하는 사람 à 말귀가 어두운 사람, 일머리가 없는 사람, 눈치 없는 사람
10. LLM도 자연어의 모호함을 없앨 수 있다
• LLM은 AI 역사상 가장 뛰어난 일반화 능력
• 정보의 모호함을 메우고, 이를 바탕으로 추론
• 대표적인 사례:
• 자연어 명령어 à 코드(인공어) 생성
• 코드의 경우, 모호함이 존재할 경우,
컴파일러에서 error 발생
11. CoT Chain of Thought
• 복잡한 추론 과제를 해결하는 과정에서 단계별 사고 과정을 확장/명시하는 방법
• 모델의 복잡한 추론 능력을 강화하고 이성 및 계획 능력을 향상시키는 데 중요한 역할
• 마치 수학 문제를 암산으로 푸는 것과, 풀이과정을 쓰면서 쓰는 것의 차이
• CoT를 적용하는 방법:
① Few-shot Prompting
② Instruction Prompting
③ Explanation Tuning (e.g. Orca)
12. CoT는 모호성 해소에 도움이 된다
• 𝑧를 추가 생성하는 작업을 통해, 𝑥의 정보 이외의 부가적인 정보가 들어갈 수 있음
• 이를 통해 생략된 정보를 보완하고, 모호성을 해소
13. 여기서 잠깐
• 똑똑한 사람은 어떤 능력이 있을까?
① 빠른 두뇌 회전
② 뛰어난 기억력
③ 뛰어난 논리력
똑똑한 LLM
뛰어난 기억력
•Long Context
•RAG
뛰어난 논리력
•CoT
•Planning
빠른 두뇌회전
•성능/크기↑
Von Neumann
His wife, Klara, said that he could
count everything except calories.
14. Autonomous Agents (+ Multi-Agents)
• Self-directed planning과 action을 통해 task를 수행하는 시스템
출처: https://github.com/microsoft/autogen
15. Autonomous Agents의 단점
• 추론 과정이 너무 많다.
• API를 활용할 경우, 높은 비용이 발생 (GPT-4의 API 비용은 생각보다 정말 비싸다!)
• Open LLM의 경우, 많은 연산과 시간이 요구됨
SLLM의 필요성 증가
SLLM의 성능의 극대화 필요
HOW?
16. Explanation Tuning
• Orca가 대표적인 케이스
• 현재 LLM leaderboard 순위의 대부분이 이 방법을 활용
• Orca1[Mukherjee et al., 2023]
• Step-by-step reasoning process를 파인튜닝
• Orca2[Mitra et al., 2023]
• 다양한 추론 기법을 담은 내용을 파인튜닝
• Step-by-step, recall then generate, recall-reason-generate, direct answer 등
각 agent들이 동작하는 방식을 데이터셋으로 만들어서 파인튜닝하면 어떨까?
17. 하지만
• 영미권의 경우, Open AI API 이외에도 많은 대안이 존재
• Llama와 같이 뛰어난 성능의 상용화 가능한 한국어 LLM이 존재하지 않음
• 다행히 Llama2를 한국어에 추가 학습시킨 모델들이 존재 (Non-commercial License)
나도 나만의 한국어 (S)LLM을 가져보자
18. 이를 위해서 필요한 것들 (feat. 제가 시도하는 것들)
1. 한국어를 이해할 수 있는 SLLM 구축
2. 한국어 Explanation Fine-tuning 데이터셋 구축
19. 한국어를 이해할 수 있는 SLLM 구축
① 토크나이저 확장
• 한글 문장을 더 적은 토큰으로 처리할 수 있도록 하자
대부분의 공개된 고성능 거대언어모델(LLM)은 영어 기반으로 동작합니다.
따라서 높은 성능 확보를 위해서 한국어로 추가 학습이 필요합니다.
▁ 대 부 분 의 ▁ 공 개 된 ▁ 고 성 능 ▁ 거 대 언 어 모 <0xEB> <0x8D> <0xB8> ( LL M ) 은 ▁ 영 어 ▁ 기 반 으 로 ▁ 동 작 합 니 다 .
▁ 따 라 서 ▁ <0xEB> <0x86> <0x92> 은 ▁ 성 능 ▁ 확 보 를 ▁ 위 해 서 ▁ 한 국 어 로 ▁ 추 가 ▁ 학 습 이 ▁ 필 요 합 니 다 .
▁대부분의 ▁공개된 ▁고성 능 ▁거대 언 어 모델 ( LL M ) 은 ▁영어 ▁기반으로 ▁동작 합니다 .
▁따라서 ▁높은 ▁성능 ▁확보를 ▁위해서 ▁한국 어로 ▁추가 ▁학습 이 ▁필요 합니다 .
77 chars
81 Tokens
31 Tokens
Original Mistral Tokenization
Expanded Tokenization
20. 한국어를 이해할 수 있는 SLLM 구축
② Large Language Model Continual Pretraining
• LLM을 full-finetuning할 수 있는 데이터와 인프라를 갖추도록 하자
• HF + Deepspeed, NeMo Megatron
③ Catastrophic Forgetting을 방지하는 Continual Learning
• 보통의 파인튜닝보다 훨씬 많은 데이터를 학습하므로 forgetting이 발생할 수 있음
• 기존 지식을 잊어버리지 않도록 학습을 수행하자
21. 한국어 Explanation Fine-tuning 데이터셋 구축
• GPT-4를 통한 데이터셋 증강
• Orca [Mukherjee et al., 2023], [Mitra et al., 2023]
• 비교적 적은 데이터를 직접 정성 들여 만들자
• LIMA [Zhou et al., 2023]
• 번역기를 활용한 영어 데이터셋 번역 및 활용
• e.g. OpenOrca-KO
23. 한국어 Explanation Fine-tuning 데이터셋 구축
• 자체 구축 번역기 번역 샘플
LIMA demonstrates remarkably strong performance, learning to follow specific response formats from only a handful
of examples in the training data, including complex queries that range from planning trip itineraries to speculating about
alternate history. Moreover, the model tends to generalize well to unseen tasks that did not appear in the training data. In
a controlled human study, responses from LIMA are either equivalent or strictly preferred to GPT-4 in 43% of cases;
this statistic is as high as 58% when compared to Bard and 65% versus DaVinci003, which was trained with human
feedback. Taken together, these results strongly suggest that almost all knowledge in large language models is learned
during pretraining, and only limited instruction tuning data is necessary to teach models to produce high quality output.
LIMA는 여행 일정을 계획하는 것부터 대체 이력에 대해 추측하는 것까지 다양한 복잡한 쿼리를 포함하여 훈
련 데이터의 몇 가지 예에서만 특정 응답 형식을 따르도록 학습하는 매우 강력한 성능을 보여준다. 더욱이,
모델은 훈련 데이터에서 나타나지 않았던 보이지 않는 작업들을 잘 일반화시키는 경향이 있다. 통제된 인간
연구에서 LIMA의 응답은 43%의 사례에서 GPT-4와 동등하거나 엄격하게 선호되며, 이 통계량은 Bard와
비교할 때 58%, 인간 피드백으로 훈련된 DaVinci003에 비해 65%만큼 높다. 종합하면, 이러한 결과는 사전
훈련 동안 대규모 언어 모델의 거의 모든 지식이 학습되고 고품질 출력을 생성하기 위해 모델을 가르치려면
제한된 명령 튜닝 데이터만 필요하다는 것을 강력하게 시사한다.