4시간 만에 독점 ChatGPT를 받은 카파시는 또 새로운 시도를 하고 있습니다. 에이전트가 방해꾼이었고 8,000줄의 코드를 직접 작성했다고 폭로했습니다. 네티즌들: 이 영상이 끝나면 머신러닝(ML) 엔지니어가 될 거예요.

이 기사는 기계로 번역되었습니다
원문 표시

"제가 쓴 글 중 가장 말도 안 되는 글 중 하나입니다." 테슬라의 전 AI 디렉터이자 OpenAI의 창립 멤버인 안드레이 카르파티가 최근 최신 오픈소스 프로젝트인 nanochat이라는 저장소를 공개했습니다. 현재 이 프로젝트는 GitHub에서 7,900개의 별을 돌파했습니다!

GitHub 저장소: https://github.com/karpathy/nanochat

보도에 따르면, Kapathy의 이전 유사 저장소인 nanoGPT는 사전 학습 함수만 포함했지만, nanochat은 처음부터 구축된 최소한의 전체 프로세스 학습/추론 툴 체인입니다. 이를 사용하여 ChatGPT 재현 모델의 간단한 버전을 구축할 수 있으며, 전체 코드베이스는 종속성이 매우 적은 단 하나의 파일로 구성됩니다.

반나절과 100달러의 훈련 시간이 소요된 모델이 GPT-2를 능가했습니다.

카파티는 발표에서 나노챗을 "100달러로 살 수 있는 최고의 ChatGPT"라고 설명했습니다. 나노챗을 사용하면 클라우드 GPU 서버를 구동하고 스크립트를 실행하기만 하면 단 4시간 만에 ChatGPT와 유사한 웹 인터페이스에서 훈련된 대규모 언어 모델(LLM)과 대화할 수 있습니다.

구체적으로 이 프로젝트는 다음과 같은 기능을 달성할 수 있습니다.

  • 새로운 Rust 언어 구현을 기반으로 한 토크나이저 훈련
  • FineWeb 데이터 세트에서 Transformer 아키텍처 대규모 언어 모델을 사전 학습하고 여러 지표를 사용하여 CORE 점수를 평가합니다.
  • Midtrain은 SmolTalk 사용자 지원 대화 데이터 세트, 객관식 질문 데이터 세트, 도구 사용 데이터 세트에서 수행됩니다.
  • 채팅 모델에 대한 명령 미세 조정(SFT)을 수행하고 세계 지식 객관식 문제(ARC-E/C, MMLU), 수학 문제(GSM8K) 및 코딩 작업(HumanEval)에 대한 모델 성능을 평가합니다.
  • "GRPO" 알고리즘을 사용하여 GSM8K 데이터 세트에 대한 모델의 선택적 강화 학습(RL) 훈련
  • KV 캐싱을 갖춘 추론 엔진에서 효율적인 추론은 간단한 사전 채우기/디코딩 프로세스, 툴링(경량 샌드박스의 Python 인터프리터) 및 명령줄 인터페이스(CLI) 또는 ChatGPT와 유사한 웹 인터페이스(WebUI)를 통해 모델과 상호 작용하는 기능을 지원합니다.
  • 전체 프로젝트 프로세스를 요약하고 다양한 지표를 "게임화된" 방식으로 제시하기 위해 마크다운 형식의 "성적표"를 자동으로 생성합니다.

Kapathy에 따르면, 100달러 정도의 저렴한 비용(8카드 H100 노드에서 약 4시간의 학습 시간)으로도 나노챗을 사용하여 간단한 대화형 ChatGPT 복제 모델을 학습할 수 있습니다. 이 모델은 이야기, 시를 쓰고 간단한 질문에 답할 수 있습니다. 약 12시간의 학습 후, 모델의 성능은 GPT-2의 CORE 지수를 능가합니다.

카파시는 Github에서 100달러로 최적의 ChatGPT 모델을 "빠르게 훈련"하는 자세한 과정을 설명했습니다.

자세한 기술 단계: https://github.com/karpathy/nanochat/discussions/1

비용을 약 1,000달러(약 41.6시간의 학습)로 더 높이면 모델의 일관성이 크게 향상되어 간단한 수학 문제, 코딩 작업, 객관식 시험 등을 풀 수 있게 됩니다. 예를 들어, 24시간의 학습 후, 깊이가 30인 모델(계산 FLOP은 GPT-3 Small(12억 5천만 개의 매개변수를 사용, GPT-3의 1/1000에 불과)은 MMLU 데이터셋에서 40점 이상, ARC-Easy 데이터셋에서 70점 이상, GSM8K 데이터셋에서 20점 이상의 점수를 달성할 수 있습니다.

Kapathy의 목표는 이 완전한 "강력한 벤치마크" 툴체인을 일관되고, 간결하며, 읽기 쉽고, 수정 가능하며, 포크 가능한 저장소로 통합하는 것입니다. "nanochat은 현재 개발 중인 LLM101n 과정의 핵심 프로젝트가 될 것입니다. 또한 nanoGPT가 그랬듯이, 연구 도구 프레임 또는 벤치마킹 도구가 될 잠재력을 가지고 있다고 생각합니다."

그는 이 프로젝트가 결코 최종적인 것이 아니며, 완전한 튜닝이나 성능 최적화도 완료되지 않았다고 밝혔습니다. 그러나 전체 프레임 GitHub에 공개할 만큼 완성되었으며, 모든 후속 모듈 커뮤니티를 통해 더욱 개선될 수 있습니다. 나아가, Kapathy는 nanochat에는 실제로 쉽게 구현할 수 있는 최적화 지점이 많다고 언급했습니다.

8,000줄의 손으로 쓴 코드, "에이전트는 도울 수 없습니다"

전체 프로젝트 코드는 약 8,000줄에 불과하지만, 카파시는 "코드 구조가 매우 명확하다"고 강조했습니다. 게다가 코드 저장소는 카파시가 직접 작성한 것으로, 탭 키 자동 완성 기능만 있을 뿐입니다.

"Claude나 Codex의 Agent를 여러 번 사용해 봤지만 결과가 매우 나빴고 결국 도움이 되지 않았습니다. 아마도 이 저장소의 코드 스타일과 기능이 이러한 도구들의 학습 데이터에 있는 일반 코드와 너무 다르기 때문일 수 있습니다."라고 Kapasi는 말했습니다.

카파시는 나노챗의 모델 아키텍처에 대해 이야기하며, 나노챗이 라마 모델과 전체적으로 유사하지만 구조가 더 단순하다고 설명했습니다. 또한 나노챗은 나노GPT의 개선된 버전인 modded-nanoGPT에서 일부 디자인 아이디어를 차용했습니다.

그는 이 크기의 모델에 대한 신뢰할 수 있는 기준 아키텍처를 식별하려고 시도했는데, 그 내용은 다음과 같습니다.

  • Dense Transformer(희소 구조 없음)
  • 회전 임베딩, 다른 위치 인코딩은 사용되지 않습니다.
  • QK 정규화(QK Norm, 쿼리 벡터 Q와 키 벡터 K를 정규화)
  • 임베딩 레이어와 언임베딩 레이어의 가중치는 공유되지 않습니다.
  • 토큰 임베딩 결과를 정규화합니다.
  • 다층 퍼셉트론(MLP)에서 relu 제곱(relu²) 활성화 함수 사용
  • 제곱 평균 제곱근 정규화(RMSNorm)에는 학습 가능한 매개변수가 포함되어 있지 않습니다.
  • 선형 레이어에서는 편향이 사용되지 않습니다.
  • 다중 쿼리 주의(MQA)
  • 로짓 소프트캡(훈련을 안정화하기 위해 로짓 값의 범위를 제한)

nanochat의 최적화기는 Muon + AdamW 조합을 사용하는데, 이는 modded-nanoGPT에서 많은 영감을 받은 디자인입니다. Kapathy는 Adam의 학습률을 최적화하여 Muon 의존도를 줄이는 방안(예: 각 모듈 에 대한 전용 학습률 설정)을 검토 중이라고 하지만, 아직 충분한 노력을 기울이지 않은 것으로 알려졌습니다.

네티즌: 기계를 받아서 엔지니어라는 직함을 알게 되어 기쁘다

Github 외에도 최근 출시된 nanochat은 소셜 플랫폼에서도 매우 인기가 많습니다.

"저는 항상 Nano 시리즈 프로젝트를 좋아했습니다! 이 미니멀리스트적인 엔드투엔드 학습/추론 툴체인은 많은 머신러닝(ML) 학습자와 연구자들에게 분명 큰 영향을 미칠 것입니다."라고 한 네티즌은 말했습니다.

또 다른 네티즌은 "개인적으로 이 코드 저장소는 향후 학습을 위한 훌륭한 자료입니다. Rust 기반 저수준 딥러닝 구현은 물론 (더 근본적으로) Python에서의 딥러닝 개발을 이해하는 데 매우 유용합니다."라고 말했습니다. 그는 또한 "누구나 이 저장소를 사용하여 최소한의 노력으로 자신만의 대규모 언어 모델(LLM)을 학습시킬 수 있다면 Anthropic이나 OpenAI 같은 회사의 기술적 우위가 약화되지 않을까요? 시장에는 훌륭한 엔지니어들이 많이 있습니다. 충분한 리소스만 있다면 훨씬 더 강력한 대규모 언어 모델을 충분히 학습시킬 수 있습니다."라고 지적했습니다.

또 다른 사람은 이렇게 지적했습니다. "이 코드 저장소의 가장 큰 고객은 연구자라고 생각합니다. 많은 사람들이 대규모 언어 모델(LLM)을 개선할 아이디어를 가지고 있겠지만, 이러한 아이디어를 완전한 구현으로 구현하려면 대량 노력이 필요하고 최종 결과는 불확실합니다. 이제 누구나 실험에 사용할 수 있는 기성 도구와 프로세스가 있습니다. 예전에는 '이걸 구현할 수 있다면 어떨까?'라는 단순한 환상에 불과했던 것이 이제는 '다음 주말에 이 아이디어를 구현해 봐야겠다'는 구체적인 행동으로 바뀌었습니다."

한 네티즌은 "이걸 실행해 본 뒤 내 이력서에 ' 머신러닝(ML) 엔지니어'라는 타이틀을 꼭 추가하겠다"고 농담을 건네기도 했다.

참조 링크:

https://x.com/karpathy/status/1977755427569111362

https://github.com/karpathy/nanochat

본 기사는 화웨이가 편집하고 36Kr이 허가를 받아 게시한 위챗 공개 계정 "AI Frontline" 에서 발췌한 것입니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트