Repolode
DLLXW

DLLXW/baby-llama2-chinese

단일 24GB GPU에서 실행할 수 있는 소형 중국어 LLaMA2 스타일 모델의 사전학습 및 SFT 파이프라인을 처음부터 제공합니다.

스타
2,923
포크
354
열린 이슈
42
마지막 커밋
2개월 전

어떤 프로젝트인가요?

Baby-Llama2-Chinese는 학습을 목적으로 중국어 LLaMA2 스타일의 소형 언어 모델을 처음부터 끝까지 구축하는 프로젝트입니다. 코퍼스 토큰화, 사전학습, 지시 데이터셋을 활용한 지도 미세조정(SFT), 추론 과정을 다룹니다. 단일 24GB GPU에서 기본적인 중국어 질의응답이 가능한 채팅 모델을 만드는 것이 목표입니다.

파이프라인은 64,793개 토큰의 어휘를 uint16으로 저장할 수 있는 ChatGLM2-6B 토크나이저를 사용하며, Wikipedia-zh, BaiduBaiKe, C4_zh, WuDaoCorpora 등의 사전학습 코퍼스를 바이너리 파일로 처리합니다. 사전학습은 여러 GPU에서 torchrun으로 실행하고, SFT 스크립트는 답변 부분에만 손실을 계산하는 프롬프트-답변 샘플을 만듭니다. 92M~218M 파라미터 규모의 사전학습 체크포인트와 일반 및 의료 분야 채팅용 SFT 변형 모델을 다운로드할 수 있습니다.

저장소에는 짧은 텍스트 필터링과 MinHash 또는 SimHash 중복 제거를 위한 데이터 정제 스크립트도 포함되어 있습니다. 또한 과거 체크포인트를 불러오고 모델 차원을 자동으로 감지하는 통합 infer.py가 제공됩니다. 보상 모델과 강화학습 단계는 계획만 되어 있으며 아직 구현되지 않았습니다.

핵심 기능

  • 01토크나이저 설정, 사전학습, 전체 파라미터 SFT를 하나의 저장소에서 다룹니다.
  • 02단일 24GB GPU에서 92M~218M 파라미터 규모의 중국어 모델을 사전학습합니다.
  • 03ChatGLM2-6B 토크나이저를 사용해 코퍼스를 uint16 바이너리 파일로 전처리합니다.
  • 04코퍼스 정제를 위한 MinHash 및 SimHash 중복 제거 스크립트를 포함합니다.
  • 05사전학습 및 SFT 체크포인트를 불러오고 차원을 자동 감지하는 infer.py를 제공합니다.
  • 06사전학습 및 미세조정 가중치를 다운로드할 수 있도록 공개합니다.

활용 사례

  • 소형 LLaMA 스타일 모델을 처음부터 사전학습하고 미세조정하는 방법을 학습할 때.
  • 제한된 GPU 하드웨어에서 중국어 사전학습 코퍼스를 실험할 때.
  • 모델 크기와 어휘 크기가 사전학습 손실에 미치는 영향을 비교할 때.
  • 기존 SFT 데이터로 의료 QA 모델과 같은 소형 도메인 특화 채팅 모델을 구축할 때.

빠른 시작

  1. 1

    Baidu Netdisk 링크에서 토큰화된 사전 학습 코퍼스를 다운로드합니다(약 118 GB).

  2. 2

    다운로드한 데이터를 ./data 디렉터리에 넣고 데이터 처리 스크립트를 실행합니다.

    python data_process.py
  3. 3

    README의 예시 설정에 따라 GPU 4개에서 torchrun으로 사전 학습을 실행합니다.

    torchrun --standalone --nproc_per_node=4 pretrain.py
  4. 4

    SFT 파인튜닝을 실행합니다.

    python sft.py

사용 전 알아둘 점

  • README의 사전 학습 예시 설정은 여러 GPU를 전제로 하며, 작성자는 3090 4개 구성으로는 모델과 코퍼스 크기에 제약이 있다고 설명합니다.
  • 전체 사전 학습 코퍼스는 약 118 GB이며 Baidu Netdisk에서 다운로드해야 합니다.
  • 데이터와 모델 다운로드 대부분이 Baidu Netdisk에 호스팅되어 있어 중국 외 지역에서는 이용이 불편할 수 있습니다.
  • 문서는 주로 중국어로 작성되어 있으며, 강화 학습 단계는 아직 TODO로 표시되어 있습니다.

토픽

자주 묻는 질문

baby-llama2-chinese은(는) 무엇인가요?
단일 24GB GPU에서 실행할 수 있는 소형 중국어 LLaMA2 스타일 모델의 사전학습 및 SFT 파이프라인을 처음부터 제공합니다. Baby-Llama2-Chinese는 학습을 목적으로 중국어 LLaMA2 스타일의 소형 언어 모델을 처음부터 끝까지 구축하는 프로젝트입니다. 코퍼스 토큰화, 사전학습, 지시 데이터셋을 활용한 지도 미세조정(SFT), 추론 과정을 다룹니다. 단일 24GB GPU에서 기본적인 중국어 질의응답이 가능한 채팅 모델을 만드는 것이 목표입니다.
baby-llama2-chinese은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
baby-llama2-chinese은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
baby-llama2-chinese은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. baby-llama2-chinese의 마지막 커밋은 2026년 8월 13일입니다.
baby-llama2-chinese은(는) 어디에 사용할 수 있나요?
소형 LLaMA 스타일 모델을 처음부터 사전학습하고 미세조정하는 방법을 학습할 때. 제한된 GPU 하드웨어에서 중국어 사전학습 코퍼스를 실험할 때. 모델 크기와 어휘 크기가 사전학습 손실에 미치는 영향을 비교할 때. 기존 SFT 데이터로 의료 QA 모델과 같은 소형 도메인 특화 채팅 모델을 구축할 때.
baby-llama2-chinese는 어떻게 설치하나요?
Baidu Netdisk 링크에서 토큰화된 사전 학습 코퍼스를 다운로드합니다(약 118 GB). 다운로드한 데이터를 ./data 디렉터리에 넣고 데이터 처리 스크립트를 실행합니다.: python data_process.py README의 예시 설정에 따라 GPU 4개에서 torchrun으로 사전 학습을 실행합니다.: torchrun --standalone --nproc_per_node=4 pretrain.py SFT 파인튜닝을 실행합니다.: python sft.py
baby-llama2-chinese은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/DLLXW/baby-llama2-chinese

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트