YaLM 100B 는 텍스트 생성 및 처리를 위한 GPT와 유사한 신경망입니다. 전 세계의 개발자와 연구자가 자유롭게 사용할 수 있습니다.
이 모델은 1,000억 개의 매개변수를 활용합니다. 800개의 A100 그래픽 카드 클러스터와 1.7TB의 온라인 텍스트, 서적, 영어와 러시아어로 된 수많은 기타 소스에서 모델을 훈련하는 데 65일이 걸렸습니다.
가속 및 안정화에 대한 교육 세부 정보 및 모범 사례는 Medium (영어) 및 Habr (러시아어) 기사에서 찾을 수 있습니다.
우리는 DeepSpeed를 사용하여 모델을 훈련하고 Megatron-LM 사례에서 영감을 얻었습니다. 그러나 이 저장소의 코드는 모델을 훈련하는 데 사용된 코드와 동일하지 않습니다. 오히려 모델을 추론하는 데 필요한 최소한의 변경 사항이 포함된 DeepSpeed 저장소의 스톡 예제입니다.
가중치를 다운로드하기 전에 200GB의 여유 디스크 공간이 있는지 확인하세요. 모델 (코드는 microsoft/DeepSpeedExamples/Megatron-LM-v1.1.5-ZeRO3을 기반으로 함)은 텐서 병렬 처리를 통해 여러 GPU에서 실행되어야 합니다. 4개(A100 80g) 및 8개(V100 32g) GPU에서 테스트되었지만 무게 크기를 올바르게 나누는 총 200GB GPU 메모리(예: 16, 64, 128)로 다양한 구성에서 작동할 수 있습니다.
bash download/download.sh
실행하여 모델 가중치와 어휘를 다운로드하세요../yalm100b_checkpoint/weights/
에 다운로드되고 어휘는 ./yalm100b_checkpoint/vocab/
에 다운로드됩니다.docker/pull.sh
로 가져올 수 있습니다. A100 및 V100과 호환됩니다.docker/build.sh
사용하여 소스에서 도커 이미지를 빌드할 수 있습니다( docker/Dockerfile
에서 도커 이미지만 빌드함).docker/run.sh
사용하십시오 (볼륨, 이름 및 기타 매개변수는 변경 가능) . 다음 스크립트로 시작할 수 있습니다.
examples/generate_interactive.sh
: 명령줄에서 대화형 생성으로, 모델을 시험해 볼 수 있는 가장 간단한 방법입니다.examples/generate_conditional_sampling.sh
: 샘플링 전략을 사용한 조건부 생성. Top-p는 기본적으로 사용됩니다. 자유롭게 온도를 변경하거나 top-k를 사용하세요. 입력은 jsonlines(예: examples/example_cond_input.json
)이고 출력은 각 줄에 생성된 텍스트 필드가 추가된 동일한 jsonlines입니다.examples/generate_conditional_greedy.sh
: 이전과 동일하지만 생성이 욕심스럽습니다. 퓨샷 문제 해결에 적합합니다.examples/generate_unconditional.sh
: 무조건 생성. 입력은 사용되지 않으며 출력은 jsonlines입니다. 이 모델은 연구 및 상업적 사용을 모두 허용하는 Apache 2.0 라이센스에 따라 게시되었으며 Megatron-LM은 Megatron-LM 라이센스에 따라 라이센스가 부여되었습니다.
YaLM-100B 훈련에 사용된 데이터 세트는 다음 부분으로 구성됩니다(대략적인 백분율은 모델에서 표시되는 토큰으로 측정됩니다).
25% The Pile — Eleuther AI 팀의 공개 영어 데이터세트
우리 팀이 수집한 러시아어 텍스트 75% (전체 데이터 세트의 백분율 제공)
Yandex 검색 색인의 49% 러시아어 웹 페이지는 다음 휴리스틱을 통해 ~100Tb에서 ~1Tb로 필터링되었습니다.
12% Yandex 검색 색인의 다양한 소스에서 나온 뉴스
10% 러시아어 배포 동의어 사전에 사용된 데이터 세트의 도서
3% Taiga 데이터세트의 기타 텍스트
1.5% Reddit이 The Pile에서 처리되는 방식과 유사한 방식으로 전처리된 소셜 미디어의 대화
Wikipedia의 0.5% 러시아 부분
일부 하위 집합은 훈련 중에 최대 3번까지 탐색되었습니다.
모델은 ~65일 동안 800개의 A100 클러스터에서 훈련되었습니다. 그 기간 동안 3000억 개의 토큰이 소비되었습니다. HF 페이지에서 LR 및 램프업 일정, 훈련 지표 및 "온도계"가 포함된 TensorBoard를 볼 수 있습니다.