Andrej Karpathy 유투브 강의
Andrej Karpathy가 이틀전 (2/28)에 또다시 How I use LLMs라는 영상을 올렸습니다. https://www.youtube.com/watch?v=EWvNQjAaOHw
지난 Deep Dive 영상에서는 ChatGPT 페이지 뒤에서 어떠한 일들이 벌어지고 있는지, 그리고 LLM의 심리 혹은 인지체계에 대해서 살펴보는 "이론편"이었다면,
이번 영상에서는 Andrej 본인이 실생활 및 업무에서 어떻게 사용하는지 다양한 예시를 보여주는 재미있는 "활용편"입니다.
2022년 ChatGPT 공개 이후 수많은 LLM들이 쏟아져나오면서, 저도 매주 조코딩 채널과 Matthew Berman 등의 채널을 계속 따라가면서 트렌드를 열심히 파악해보려 했지만 저도 많은 부분을 놓치거나 이해하지 못하는 내용이 생길 수 밖에 없는데요, 세계에서 가장 뛰어난 AI연구자가 직접 "최신 AI활용" 트렌드를 정리해주니, 정말 큰 도움이 아닐 수 없습니다. :)
이번에는 복잡한 내용은 없지만, 뭐랄까 Andrej에 대한 팬심을 담아서 Lecture Note 동일하게 작성해서 공유합니다. :) https://github.com/beingcognitive/--Lecture-Note---Andrej-Karpathy-_How-I-use-LLMs-_FEB-2025
=== Lecture Note를 다시 요약하자면 ===
1. LLM은 인터넷 문서를 확률적 방식으로 손실 압축시킨 약1TB 크기의 zip파일이라고 볼 수 있습니다. (lossy, probabilstic "zip file of the internet")
. Pre-training 단계에서 인터넷 상의 방대한 지식을 학습시키기 때문에, 수많은 비용(수백억원 수준)과 제법 긴 시간 (약 3개월)이 소요됨. 따라서, knowledge cutoff 가 어쩔 수 없이 발생합니다. (최근 출시된 GPT-4.5의 경우에도 2023년 10월 이후의 문서는 학습에 사용되지 않음)
. Post-training 단계에서, OpenAI에서 고용한 전문 Human Labeler들이 작성한 질의 답변 내용을 바탕으로 helpful, truthful, and harmless한 Personality를 입힘.
=> 따라서, ChatGPT의 자기소개서는 아래 수준으로 이해하면 좋습니다.
: 안녕하세요, 저는 ChatGPT입니다.
: 저는 1테라바이트 zip파일입니다.
: 저의 지식은 약 6개월 이상된 인터넷을 기반으로 하지만, 이 기억이 정확하지는 않습니다.
: 저의 주된 personality는 OpenAI에서 고용한 human labeler들의 답변예시들에 의해 프로그램되었습니다.
2. 내가 현재 지불하고 있는 pricing tier 및 현재 사용하고 있는 구체적인 모델이 무엇인지 신경써야 함.
예를 들면, ChatGPT Free사용자라면, GPT-4o-mini라는 경량 모델을 사용하고 있기 때문에, 답변의 품질이 낮거나 Hallucination에 취약한 경향이 있음.
3. 기본 SFT 모델로 충분히 좋은 답변이 나오지 않거나 답변이 틀리는 경우에, Thinking Model (Reasoning Model, RL Model)을 사용하자.
지난 Deep Dive에서 다룬 내용을 짧게 다시한번 요약해보면,
[ Step 1 ]
Pre-training을 통해 세상에 대한 흐릿한 기억을 지닌 다음 토측 예측 기계를 얻고 나서,
==> (1TB ZIP File을 얻었다) : e.g. Llama-3.1-405B-BASE, 질문을 하면 답변을 하지 않고 질문을 계속 이어나감.
[ Step 2 ]
Post-training: Supervised FineTuning (SFT) 및 RLHF 과정에서,
OpenAI가 작성한 Labelinig Instruction을 숙지한 Human Labeler들이 작성한 Q&A 예제들을 통해 학습함으로써
(1) 대화가 가능하고 (2) helpful, truthful, and harmless한 Personality를 입히고 (3) Hallucination이 소폭 완화된 "이상적인 답변"을 할 수 있는 Helpful Assistant를 얻게 되었다.
==> e.g. GPT-4o, 현재 사용하는 대부분의 대화형 Assistant가 이 단계에 해당
[ Step 3 ]
이제, '25.1월 DeepSeek-r1 논문에서 밝힌 기법 등을 통해서 알려진 바와 같이, 수학, 과학, 코딩과 같이 정답이 존재하여 입증 가능한 영역 _Verifiable Domain 들에 대해서는,
질문(Prompt)과 -[]-> 최종 정답(Answer)만 알려주고,
그 중간에 필요한 [문제 풀이 과정 (Solution)]에 대해서는 스스로 수천가지를 동시에 답안을 쓰게 한 다음에,
이 중 최종 정답에 도달한 Solution 중 (예를 들면) 가장 짧은 Solution을 이상적인 과정으로 정의하고,
이렇게 쌓인 Solution 들을 강화학습_RL을 위한 학습 데이터로 삼아서 스스로 학습하게 만들면,
깊은 사고가 필요한 문제에도 좋은 답변을 얻어낼 수 있는 Thinking Model / Reasoning Model / RL Model 을 얻어낼 수 있다.
(어느정도 표준화가 진행된 위 두 단계와 달리, RL은 최근 1~2년 사이에 벌어진 매우 극초기의 연구 단계임. 올해에도 많은 발전이 예상됨)
4. 위와 같이 얻어진 모델은 여전히 그 자체의 지식만으로 동작할 뿐인데, 여기에 유용한 Tool들을 쥐어주면, 훨씬 더 유용한 Assistant가 될 수 있음.
만약 우리가 어떤 TV쇼의 다음 시즌 일정을 검색한다면, 구글 검색에서 시작해서 > 여러 웹페이지를 돌아다니면서 > "광고를 피하면서(!)" > 얻어진 정보를 종합하는 과정을 거쳐야 하는데, 이 모든 작업을 LLM이 대신 수행하게 만들 수 있음.
ChatGPT, Grok, Gemini 등 대부분의 모델들이 Search 툴을 탑재하기 시작했으나, Perplexity.ai가 아직은 AI검색의 선두주자라고 생각함. (Claude는 아직 검색툴이 없음)
5. 최근 1~2달 사이에 발표된 Deep Research는 "Search"와 "Thinking"의 결합이라고 볼 수 있음.
단, 아무리 Deep Research를 통하더라도, LLM은 언제든지 Hallucination 가능성이 있음. LLM의 답변은 근사하지만, DRAFT로만 사용해야 함!
6. LLM에게 Search툴을 쥐어줄 뿐만 아니라, 사용자가 갖고 있는 File을 업로드해서 그 내용을 바탕으로 직접 대화를 나누는 방법도 유용하다. 논문읽기, 독서 등은 이제 절대 혼자서 하지 말고, 항상 AI와 함께 문답을 병행하면 더 이해가 깊어질 것.
7. 30 * 9 = 270과 같은 암산은 사람도 LLM도 쉽게 할 수 있지만, 423534 * 3124와 같은 계산은 암산은 어렵고 계산기를 사용하는 것이 효율적. 이러한 경우를 위해 Python Interpreter 툴을 제공함. (명시적으로 프롬프트에 Use code.라는 문구를 넣는 것이 좋다.)
8. ChatGPT에서 제공하는 또다른 흥미로운 툴 중에 Advanced Data Analysis라는 것이 있는데, 이는 회사에서 JUNIOR Data Analyst와 협업한다고 생각하는 것이 좋다. 멋진 차트를 그려주지만, 임의로 n/a값을 0.1로 처리한다거나, 여전히 Hallucination이 존재하기 때문.
9. Claude에만 있는 유용한 툴 중에, 간단한 웹 앱을 프로토타이핑할 수 있는 Artifacts라는 것이 존재함.
. 국부론 저자 아담스미스에 대한 Flashcard를 만들라고 한 다음에, 테스트할 수 있는 앱을 바로 만들게 한다거나,
. 국부론의 책 내용에서 특정 챕터 내용을 바탕으로 Conceptual Diagram을 그리게 해서 Visual Thinking을 도울 수 있다.
10. 요즘 많은 개발자들이 사용하고 있는 Cursor IDE도 기능이 계속 추가되고 있음.
. Cursor 초창기에는 Ctrl-K 를 눌러서, "이 부분을 이렇게 고쳐줘"라고 시작했었고,
. 그 다음에는 Ctrl-L을 눌러서, "이 코드를 해석해줘"로 발전했고,
. 요즘은 Ctrl-I를 눌러서, Composer 기능을 사용하면, 최근 Agent 개념과 같이, 러프한 요구사항을 러프하게 적으면, AI가 알아서 직접 코딩을 다 수행하는 단계에 이르렀음. (이를 Andrej는 "Vibe Coding"이라고 부르고, 우리말로 옮기자면 느낌적인 느낌만으로도 알아서 잘 코딩하는 "알잘딱깔센 코딩"이랄까요...?)
11. 텍스트 뿐만 아니라, 오디오/이미지/비디오까지의 멀티모달을 생각할 수 있는데, 우선 오디오부터 살펴보면 ChatGPT와 두가지 방식으로 오디오를 사용할 수 있음.
(1) (마이크 버튼 이용) Speech in -> Text in -> [ LLM ] -> Text out -> Speech out 방식
마이크 버튼으로 사용자의 음성 질의를 텍스트로 변환합니다. (Speech -> Text)
참고로, Andrej는 귀찮기도 하고, 음성 인식 속도가 훨씬 빠르기도 해서, 마이크 버튼을 통한 질의를 타이핑하는 질의와 거의 비슷한 비중으로 사용한다고 합니다. (* 특정 라이브러리명과 같이 특이한 스펠링을 갖지 않은 경우에는 당연히 타이핑이 더 나을 것이구요, Andrej는 가장 효율적으로 일하는 방법을 끊임없이 탐구하는 것 같습니다.)
(2) (파형 버튼 이용) True Audio inside the LLM!! (Speech to Speech)
사실 첫번째 방식은 fake audio라고도 할 수 있음. Speech 중간에 Text로 전환되는 과정을 거치면, 이 과정에서 목소리의 높낮이, 말의 속도, 담겨있는 감정 등이 유실됩니다. 따라서, Text로 받아쓰기되지 않은 Speech 그대로를 모델이 처리할 수 있어야 합니다.
그동안 1차원 토큰 시퀀스를 통해서 모델과 대화를 나눴었는데요, 동일한 1차원 토큰 시퀀스인데, 다만 텍스트가 아닌 오디오청크가 토큰으로 활용되는 차이만 있습니다
12. 오디오로 모델과 커뮤니케이션하는 또다른 패러다임 중 하나는, Google NotebookLM에서의 Podcast 형식입니다.
PDF파일을 업로드하면 File Upload기능에서 보여준 것처럼 PDF 내용에 대해서 문답하는 것도 가능하지만, Podcast를 생성해서 PDF 내용에 대한 Podcast를 듣는 것도 가능합니다.
따라서, 많은 사람들의 관심이 있지 않아서 Podcast형식으로 다뤄지지 않던 niche분야일지라도, 이제는 나만의 Podcast형식으로 듣고 배울 수 있게 된 것이지요.
그리고, interactive 모드를 활성화하면, Podcast 중간에 사용자가 끼어들어서 질문을 할 수도 있습니다.
13. 이미지의 경우도 텍스트/오디오와 마찬가지로 이미지를 grid형태의 patch로 잘라내고,이를 1차원 시퀀스로 취급하면 동일한 Transformer 아키텍처로 학습 및 활용할 수 있습니다.
이미지 처리 기능으로 OCR로 성분분석을 한다거나, 건강검진 혈액테스트 결과를 같이 읽는다던가, 수식을 읽는다던가, 혹은 Meme에 대해서 이해를 돕는 등의 활용을 할 수 있습니다.
14. ChatGPT는 Dall-E를 통해서 이미지 생성을 하는데요, 참고로 Dall-E로 인한 이미지 생성은 별도 프로그램에서 진행되고, ChatGPT 대화창에는 이미지 생성에 필요한 프롬프트까지만 대화창에 들고 있습니다. (즉, 이미지 자체에 대해서 대화하는게 아니라, 이미지 생성 프롬프트와 대화)
15. ChatGPT앱에서 Advanced Voice Mode로 들어간 다음에 좌측 하단의 비디오 버튼을 누르면 ChatGPT와 영상통화하듯이 Video input을 활용해 함께 대화를 나눌 수 있음.
참고로, 영상 스트림을 100% 처리하는 방식은 아닌 것으로 알고 있고, 예를 들면 매 1초마다 이미지를 캡처해서 해석된 이미지를 바탕으로 대화를 나누는 방식으로 이해하고 있습니다.
16. 현재 ChatGPT에만 존재하는 기능으로, 새로운 대화가 시작되더라도, 사용자에 대해서 기억을 유지하는 별도의 기능을 추가하였음. "ChatGPT Memory"
모델 스스로 사용자의 선호에 대해서 저장할 때도 있고, 명시적으로 "이 내용을 기억해줘"라고 말하면, 사용자의 선호도에 대한 내용을 기억하고, 다음 대화에서도 이 내용을 참고할 수 있도록 함. (새로운 대화가 시작할 때에, 이 작은 database가 working memory 시작부분에 포함됨.)
17. 자주 사용하는 Prompt에 대해서는 Custom GPT를 만들어놓으면, 매번 필요한 작업을 할 때마다 앞뒤 맥락을 넣을 필요 없기 때문에 편리합니다.
===
AI Literacy가 어느 수준에 있건 이렇게 한번 훑어주는 영상은 큰 도움이 되는 것 같습니다. 지난 영상과 마찬가지로 이 노트https://github.com/beingcognitive/--Lecture-Note---Andrej-Karpathy-_How-I-use-LLMs-_FEB-2025 가 도움이 되기를 바라며, 글 마칩니다. 감사합니다.