GN⁺: Andrej Karpathy의 "ChatGPT와 같은 LLM 심층 분석" 영상 요약
(anfalmushtaq.com)이 심층 분석은 누구를 위한 것인가?
- LLM의 실제 작동 방식 이해: 표면적인 이해를 넘어 LLM의 작동 원리를 알고자 하는 사람.
-
혼란스러운 미세 조정 용어 이해:
chat_template
와ChatML
같은 용어를 이해하고자 하는 사람. - 프롬프트 엔지니어링 향상: 어떤 프롬프트가 더 잘 작동하는지 이해하고자 하는 사람.
- 환각 줄이기: LLM이 잘못된 정보를 생성하지 않도록 하고자 하는 사람.
- DeepSeek-R1의 중요성 이해: 현재 주목받고 있는 DeepSeek-R1의 중요성을 알고자 하는 사람.
사전 훈련 데이터
인터넷
- LLM은 인터넷을 크롤링하여 방대한 텍스트 데이터셋을 구축함.
- 원시 데이터는 중복 콘텐츠, 저품질 텍스트, 관련 없는 정보로 가득 차 있어 훈련 전에 철저한 필터링이 필요함.
- 예를 들어, FineWeb 데이터셋은 12억 개 이상의 웹 페이지를 포함함.
토큰화
- 토큰화는 모델이 텍스트를 처리하기 전에 작은 조각(토큰)으로 나누는 방법임.
- Byte Pair Encoding (BPE) 같은 기술이 사용됨.
- GPT-4는 100,277개의 토큰을 사용함.
신경망 입출력
- 토큰화된 데이터는 신경망에 입력됨.
- 모델은 학습한 패턴을 기반으로 다음 토큰을 예측함.
- 오류를 줄이기 위해 가중치가 조정됨.
신경망 내부
- 모델 내부에서는 수십억 개의 매개변수가 입력 토큰과 상호작용하여 다음 토큰에 대한 확률 분포를 생성함.
- 모델 아키텍처는 속도, 정확성, 병렬화를 균형 있게 설계함.
추론
- LLM은 결정론적 출력을 생성하지 않으며, 확률적임.
- 매번 실행할 때마다 출력이 약간 다름.
- 이 무작위성 때문에 LLM은 창의적일 수 있지만 때때로 잘못된 정보를 생성하기도 함.
GPT-2
- OpenAI가 2019년에 발표한 GPT-2는 초기의 트랜스포머 기반 LLM의 예임.
- 16억 개의 매개변수, 1024-토큰 컨텍스트 길이, 약 1,000억 개의 토큰으로 훈련됨.
- Andrej Karpathy는 llm.c를 사용하여 GPT-2를 $672에 재현함.
오픈 소스 기반 모델
- 일부 회사는 대규모 LLM을 훈련하고 기본 모델을 무료로 공개함.
- 기본 모델은 원시 인터넷 텍스트로 훈련되어 완성을 생성하지만 인간의 의도를 이해하지 못함.
- OpenAI는 GPT-2를 오픈 소스로 공개함.
- Meta는 Llama 3.1(405B 매개변수)을 오픈 소스로 공개함.
사전 훈련에서 후 훈련까지
- 기본 모델은 많은 환각을 생성함.
- 후 훈련은 모델을 더 나은 응답을 하도록 미세 조정함.
- 후 훈련은 사전 훈련보다 훨씬 저렴함.
지도 학습 미세 조정 (SFT)
데이터 대화
- 기본 모델은 인터넷 데이터로 훈련된 후 인간/어시스턴트 대화로 후 훈련됨.
- 대화 템플릿을 사용하여 모델이 대화의 구조를 이해하도록 함.
환각, 도구 사용 및 메모리
- LLM의 주요 문제는 환각임.
- Meta는 Llama 3 논문에서 사실성을 개선하는 방법을 설명함.
- 도구를 사용하여 환각을 줄이는 방법도 있음.
강화 학습
- 모델은 인터넷 데이터로 훈련된 후 지식을 효과적으로 사용하는 방법을 모름.
- 강화 학습(RL)은 시행착오를 통해 모델을 개선함.
RL 작동 방식
- RL은 모델이 다양한 솔루션을 실험하고 최적의 솔루션을 찾도록 함.
- 예를 들어, 15개의 솔루션을 생성하고 4개만이 정답을 맞춤.
인간 피드백을 통한 강화 학습 (RLHF)
- 검증할 수 없는 도메인에서는 인간을 포함해야 함.
- RLHF는 인간 피드백을 사용하여 모델을 개선함.
앞으로의 전망
- 멀티모달 기능: 텍스트뿐만 아니라 이미지, 오디오, 비디오도 이해하고 생성함.
- 에이전트 기반 모델: 단일 작업을 넘어 장기 기억, 추론, 실수 수정 가능.
- 보편적이고 보이지 않는 AI: 워크플로에 자연스럽게 통합됨.
- 컴퓨터 사용 AI: 소프트웨어와 상호작용하고 텍스트 생성 이상의 작업을 수행함.
LLM을 찾는 방법
- 독점 모델: OpenAI (GPT-4), Google (Gemini), Anthropic (Claude) 등.
- 오픈 웨이트 모델: DeepSeek, Meta (Llama) 등.
- 로컬 실행: Ollama 또는 LM Studio 사용.
- 기본 모델: Hyperbolic 탐색.
Hacker News 의견
-
원본 비디오가 Hacker News의 첫 페이지에서 사라진 후에도 논의할 좋은 장소를 찾고 있는 중임
-
비디오를 보면서 몇 가지 궁금한 점이 생겼음
- 수학과 LLMs
- Andrej가 LLM에 제시한 예시들이 왜 대부분 계산 문제인지 궁금함
- LLM의 계산 능력이 강력하고 유용해지고 있지만, 기본적인 능력은 아니라고 생각함
- LLM의 핵심 능력을 보여주는 프롬프트와 수학적 계산을 구분했으면 좋겠음
- 수학적 능력에 대한 논의나 LLM이 수학을 수행하는 지혜에 대한 좋은 참고 자료가 있으면 좋겠음
- 메타
- Andrej가 LLM이 다른 LLM을 훈련하고 평가하는 데 사용되는 상황을 간단히 언급했지만, 이에 대한 논의는 많지 않음
- LLM을 사용하여 다른 LLM을 훈련/평가하는 것의 한계와 위험에 대해 더 알고 싶음
- 초기 결과와 발전이 더 강력한 기술 개발로 즉시 피드백되는 것이 맨해튼 프로젝트와 원자 무기와 비슷하다고 느낌
- 수학과 LLMs
-
Meta의 환각 문제 해결 접근 방식이 흥미로움
- 훈련 데이터의 일부를 추출하여 Llama 3로 사실적 질문을 생성함
- Llama 3가 답변을 생성하고 원본 데이터와 비교하여 점수를 매김
- 틀린 경우 모델이 틀린 답변을 인식하고 거부하도록 훈련함
- 이는 ML 엔지니어의 자연스러운 경향과 반대되며, 모델이 모르는 것을 인식하도록 가르치는 것이 중요함
-
Andrej의 비디오가 훌륭하지만 RL 부분 설명이 약간 모호하게 느껴짐
- 올바른 답변에 대해 어떻게 훈련하는지 궁금함
- 추론 과정을 수집하여 지도 학습처럼 훈련하는지, 아니면 점수를 계산하여 손실 함수로 사용하는지 궁금함
- 보상이 매우 희소할 수 있으며, 문제가 너무 어려워 LLM이 올바른 답변을 생성할 수 없는 경우 어떻게 되는지 궁금함
- 매개변수 업데이트가 순차적인데 LLM 훈련을 어떻게 병렬화할 수 있는지 궁금함
-
원본 비디오 53분에서 LLM이 학습한 텍스트를 기반으로 인용하는 정확성을 보여줌
- 대기업이 법원에서 이것이 저작권 침해가 아니라고 설득한 방법이 궁금함
- 만약 내가 디즈니 캐릭터를 그리도록 모델을 훈련시켰다면, 즉시 소송당할 것이라고 상상함
-
모델이 '완전히' 오픈 소스가 되려면 모델 자체와 실행 방법 외에도 데이터를 훈련할 수 있는 프로그램이 필요함
- OSI의 오픈 소스 AI 정의를 참조할 것
-
LLM에 대한 많은 기사를 읽었고 일반적으로 어떻게 작동하는지 이해하지만, 다른 모델이 SOTA 모델만큼 잘 작동하지 않는 이유가 항상 궁금함
- 현재 모델 아키텍처의 역사와 이유가 궁금함
-
오늘 좋은 스레드를 봤음: [링크]
-
그의 LLC in C가 그의 강좌를 위한 발판에 불과했다는 것이 아쉬움
-
아마도 정말 훌륭한 강의의 훌륭한 요약임
- 원본을 따라가려고 고민 중임
-
비디오를 보지 않았지만 TL;DR의 토큰화 부분에 대해 궁금했음
- 링크된 기사에서 토큰화된 텍스트를 보면 "I View"가 아니라 실제로는 파이프 "|"임
- @miletus가 Hacker News 댓글에 게시한 링크의 3단계에서 토큰화된 텍스트는 "|Viewing Single (Post From) . . ."임
- 대문자 사용(View, Single)이 문장의 이 부분을 볼 때 더 의미가 있음