스크래치에서 훈련한 102M 재귀적 BitNet-v2 모델: 64K 컨텍스트, 5B 토큰 미만으로 훈련
요약
102M 파라미터의 Recursive BitNet-v2 모델이 공개되었습니다. 이 모델은 삼진법 가중치, 공유 트랜스포머 레이어, 해시된 n-gram 임베딩을 결합하여 64K 컨텍스트와 5B 토큰 미만으로 효율적으로 훈련되었습니다. 총 47억 토큰 규모의 데이터로 두 단계에 걸쳐 훈련되었으며, 다양한 벤치마크에서 성능이 평가되었습니다.
핵심 포인트
- 102M 파라미터 크기로 높은 효율성을 달성했습니다.
- 삼진법 가중치와 공유 레이어를 활용하여 모델을 경량화했습니다.
- 64K 컨텍스트를 지원하며, 5B 토큰 미만의 데이터로 훈련되었습니다.
- 총 4.703B 토큰 규모의 데이터를 사용하여 두 단계에 걸쳐 학습했습니다.
면책 조항: 이 게시물과 모델 카드는 AI의 도움을 받아 작성되었습니다. 안녕하세요, 저는 삼진법 가중치(ternary weights), 공유 트랜스포머 레이어(shared transformer layers), 해시된 n-gram 임베딩(hashed n-gram embeddings)을 결합한 소규모 실험인 Recursive BitNet N-Gram 102M을 공개합니다. 이 모델은 100€의 예산으로 훈련되었습니다. 가중치, 추론 코드, 모델 카드 및 평가 결과는 Hugging Face (https://huggingface.co/n00nehere/recursive-bitnet-ngram-102M-64K-instruct-preview)에서 확인할 수 있습니다. 모든 모델 가중치는 무작위 초기화(random initialization)에서 시작되었습니다. 저는 49,152 토큰 어휘를 가진 Cosmo2 토크나이저와 이를 재사용했습니다. 아키텍처는 디코더 전용 트랜스포머(decoder-only transformer)이며 몇 가지 추가 사항이 있습니다:
• 102.28M개의 고유 파라미터, 히든 사이즈 1,024, 16개 쿼리 헤드와 4개 KV 헤드를 가진 그룹화된 쿼리 어텐션(grouped-query attention), 그리고 제곱형 ReLU 피드포워드 레이어(squared-ReLU feed-forward layers).
• 트랜스포머 블록 6개가 두 번 실행되어 총 12개의 유효 레이어 적용을 제공합니다. 두 패스는 가중치를 공유하며, 각 유효 깊이마다 별도의 KV 캐시를 사용합니다.
• 삼진법 BitLinear 투영(Ternary BitLinear projections)은 순방향 전달(forward pass) 중 {-1, 0, +1}의 스케일링된 가중치를 사용합니다. 훈련 시에는 FP32 마스터 가중치와 BF16 활성화(activations)를 유지합니다.
• 인과 토큰 2-, 3-, 4-그램 임베딩은 작은 조회 테이블(lookup tables)로 해시되어 입력 임베딩에 추가됩니다. 이 브랜치는 약 1.6M개의 파라미터를 추가합니다.
• 지속 단계(continuation phase) 동안 65,536 토큰의 훈련 컨텍스트를 사용했습니다. 훈련은 두 단계로 진행되었습니다: 먼저 백본(backbone)을 훈련한 후 n-gram 브랜치를 추가하여 계속 훈련했습니다. 단계별 하드웨어/컨텍스트/입력 토큰 처리량:
Scratch backbone | 4× NVIDIA B300 | 2K → 4K | 3.487B
N-gram continuation | 1× NVIDIA B300 | 64K | 1.216B
Total | | | 4.703B
두 단계 모두 유효 배치 크기(effective batch)가 131,072인 AdamW를 사용했습니다. 4.703B 카운터에는 반복 예제, 마스크된 프롬프트 및 패딩이 포함됩니다. 약 2.781B의 위치가 지도 목표(supervised targets)에 기여했습니다. 대략 여덟 번 중 한 번의 지속 업데이트는 최대 60K 토큰 거리를 아우르는 합성 메모리 에피소드를 사용했습니다.
소스 매니페스트와 데이터셋 라이선스 세부 정보는 모델 카드에 있습니다. 벤치마크의 경우, lm-eval 0.4.12를 사용하여 제로샷(zero-shot), 사용 가능한 모든 분할(full available splits)을 이용한 일반 텍스트 프롬프트 및 2,048 토큰 점수 컨텍스트로 평가했으며, 총 20,465개의 질문이 있었습니다. 벤치마크 지표 점수 ▓▓▓ ARC-Easy acc 40.11% ▓▓▓ ARC-Challenge acc_norm 23.63% ▓▓▓ PIQA acc 57.62% ▓▓▓ WinoGrande acc 51.22% ▓▓▓ OpenBookQA acc_norm 25.60% ▓▓▓ BoolQ acc 58.65% ▓▓▓ HellaSwag acc_norm 27.27% 가중치 미반영 평균은 40.59%입니다. 공개된 체크포인트는 저장된 열 개 스냅샷에 걸친 홀드아웃 손실(held-out loss)을 통해 선택되었습니다. 몇 가지 흥미로운 제거 실험(ablations) 결과가 있습니다: 하나, 두, 세 개의 재귀 패스(recursive passes)는 각각 39.19%, 40.59%, 39.67%를 기록했습니다. 배포판에는 409.14MB의 FP32 마스터 가중치와 124.24MB의 패킹된 내보내기(packed export)가 포함되어 있습니다. 패킹은 바이트당 다섯 개의 테르너리 값(ternary values)을 저장하며, 임베딩 및 기타 텐서는 부동 소수점(floating point)으로 유지됩니다. 이 벤치마크 표는 참조 가중치를 사용합니다. 패킹된 내보내기는 수치적 및 생성 검사(numerical and generation checks)를 통과했습니다. 이는 사소한 결과지만 여전히 제가 처음에 예상했던 것보다 나은 실험적 미리보기입니다. 모든 피드백을 환영합니다 :) /u/Illustrious-Fig-2280 님이 제출함 [링크] [댓글]}**```jsoncsharp
{
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기