나노코드: JAX와 TPU를 사용한 클로드(Claude) 스타일 코딩 에이전트 훈련

Nanocode는 Anthropic의 접근 방식을 따라 Constitutional AI를 사용하여 자신만의 Claude Code 모델을 종단 간 학습시키는 방법을 보여주는 라이브러리입니다. 완전히 JAX로 작성되었으며 TPU에 최적화되어 있으며, Karpathy의 nanochat 프로젝트의 인프라를 적용합니다.
학습 설정 및 비용
nanocode-d24 모델(13억 개의 파라미터)은 TPU v6e-8에서 약 9시간 동안 200달러의 비용으로 재현할 수 있습니다. 더 작은 nanocode-d20 모델(4억 7700만 개의 파라미터)은 약 1.5시간 동안 34달러의 비용으로 학습됩니다. 이 프로젝트는 한 달 동안 선점 가능한 TPU에 무료로 접근하기 위해 Google의 TRC 프로그램을 사용하거나, 새 계정에 대해 Google Cloud의 300달러 크레딧을 사용할 것을 권장합니다.
기술적 구현
학습 과정은 다음을 포함합니다:
- 모델 정렬을 정의하는 SOUL.md 파일 작성
- 세계 상호작용을 위한 에이전트 인터페이스 정의
- 합성 데이터 생성
- SOUL과 모델을 정렬하기 위한 선호도 최적화 사용
토큰화 및 사전 학습 차이점
사전 학습 및 토크나이저 학습 과정은 nanochat와 유사하지만, nanocode는 사전 학습과 토크나이저 혼합물 모두에서 The Stack-V2의 추가 코딩 데이터를 1:5 비율로 포함합니다. 이는 더 강력한 코딩 성능을 가져오지만 일반 텍스트 토큰화 효율성을 감소시킵니다.
토크나이저 비교는 nanocode가 nanochat에 비해 코드에 대해 -50.9% 더 나은 토큰화를 달성하는 반면, nanochat는 한국어 텍스트에서 더 나은 성능을 보임을 나타냅니다(뉴스에 대해 nanocode는 +7.9%, 한국어에 대해 -27.6%).
명령어 및 설정
export NANOCODE_BASE_DIR="$HOME/.cache/nanocode"
export MODEL_TAG=d24
python -m data.pretrain -d fineweb-edu -n 300
python -m data.pretrain -d the-stack-v2-dedup -n 60
python -m scripts.tok_train --max-chars=2000000000
python -m scripts.tok_eval
모델은 nanochat의 스케일링 법칙 분석에 따라 8의 파라미터:데이터 비율로 학습됩니다. TPU에 최적화되었지만, nanocode는 NVIDIA GPU에서도 즉시 작동해야 합니다.
📖 Read the full source: HN AI Agents
👀 See Also

스폰시오: 오픈클로를 위한 결정론적 가드레일 — '합법적이지만 잘못된' 도구 호출 차단
공개소스 도구로, 각 도구 호출을 시간 논리 계약(~0.14ms p50)으로 평가하여 작업 경계에 위치합니다. 에이전트가 작업 디렉터리 외부의 파일을 편집하거나, 강제 푸시를 하거나, 잘못된 데이터베이스에 대해 마이그레이션을 실행하는 것을 방지합니다.

Voygr, 신선한 장소 인텔리전스를 위한 비즈니스 검증 API 출시
Voygr의 비즈니스 검증 API는 여러 데이터 소스를 통합하고 상충되는 신호를 감지하여 기업이 운영 중인지, 폐업했는지, 브랜드를 변경했는지, 유효하지 않은지를 확인합니다. 이 팀은 정확한 장소 데이터와 뉴스, 기사, 이벤트 같은 최신 웹 컨텍스트를 결합한 무한하고 쿼리 가능한 장소 프로필을 구축하고 있습니다.

Be My Butler: AI 코드 검증을 위한 멀티 에이전트 파이프라인
Be My Butler는 다양한 AI 모델이 블라인드 검증을 통해 서로의 코드를 검토하는 오픈소스 멀티 에이전트 파이프라인입니다. 이 시스템은 AI 에이전트가 자신의 코드를 잘못된 상태로 보고하는 문제를 해결합니다.

Clawdex: 오픈클로우 파생작 및 포크 추적 디렉토리
Clawdex는 세 가지 계층에 걸쳐 18개의 OpenClaw 관련 프로젝트를 나열한 디렉터리로, 스타 수, 언어, 카테고리 태그 데이터를 제공합니다. 이 프로젝트는 PR 기반으로 운영되며, 기여자는 저장소를 포크하고 /src/data/projects/에 YAML 파일을 추가한 후 풀 리퀘스트를 열어야 합니다.