미니마인드: 처음부터 2시간 동안 2600만 개의 매개변수를 교육하는 GPT 오픈 소스 도구

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
2.7K 00

일반 소개

MiniMind는 개발자 징야오공이 만든 오픈 소스 프로젝트입니다. 이 프로젝트의 핵심 목표는 일반인이 자신의 AI 모델을 빠르게 훈련할 수 있도록 하는 것입니다. MiniMind의 주요 특징은 약 3RMB의 비용으로 단일 NVIDIA 3090 그래픽 카드에서 26M 파라미터 GPT 모델을 처음부터 훈련하는 데 2시간이 소요된다는 것입니다. 이 프로젝트는 데이터 세트 정리, 사전 훈련, 명령 미세 조정, LoRA, DPO, 모델 증류뿐만 아니라 시각적 멀티모달 확장 기능인 MiniMind-V를 지원하는 등 사전 훈련에서 미세 조정까지 전체 흐름 코드를 제공합니다. 모든 코드는 타사 추상화 인터페이스에 의존하지 않고 PyTorch를 기반으로 처음부터 리팩터링되었습니다. 2025년 2월 현재 MiniMind는 최소 모델 크기가 2,580만 개에 달하는 여러 버전으로 출시되었으며 커뮤니티로부터 압도적인 반응을 얻고 있습니다.

MiniMind:2小时从零训练26M参数GPT的开源工具

 

기능 목록

  • 단일 3090 그래픽 카드에서 2시간 이내에 2600만 개의 파라미터 GPT 모델을 처음부터 학습할 수 있도록 지원합니다.
  • 사전 교육, 인스트럭션 미세 조정, LoRA, DPO 및 모델 증류를 위한 전체 흐름 코드를 제공합니다.
  • 이미지 및 텍스트 처리를 위한 시각적 멀티모달 확장 기능인 MiniMind-V가 포함되어 있습니다.
  • 단일 카드 및 다중 카드 트레이닝을 지원하며, DeepSpeed 및 wandb 시각화와 호환됩니다.
  • 타사 채팅 인터페이스에 쉽게 액세스할 수 있도록 OpenAI API 프로토콜 서버를 제공합니다.
  • 직접 다운로드하거나 2차 개발을 위한 오픈 소스 고품질 데이터 세트 및 모델 가중치를 제공합니다.
  • 모델 구조를 유연하게 조정할 수 있도록 토큰화 학습 및 사용자 지정 단어 목록을 지원합니다.

 

도움말 사용

미니마인드 사용은 설치, 교육, 추론의 세 단계로 나뉩니다. 다음은 사용자가 빠르게 시작할 수 있도록 도와주는 자세한 가이드입니다.

설치 프로세스

  1. 환경 준비
    • Python 3.10 이상이 필요합니다.
    • 다음 코드를 실행하여 그래픽 카드가 CUDA를 지원하는지 확인합니다:
      import torch
      print(torch.cuda.is_available())
      

      반환값이 True그렇지 않은 경우 해당 버전의 PyTorch를 설치해야 합니다.

    • 코드 복제를 위해 Git을 설치합니다.
  2. 복제 프로젝트
    터미널에 입력합니다:
git clone https://github.com/jingyaogong/minimind.git
cd minimind
  1. 종속성 설치
    칭화 미러를 사용한 빠른 설치:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

문제가 발생하면 수동으로 설치할 수 있습니다. torch 어쩌면 flash_attn.

  1. 데이터 세트 다운로드
  • GitHub README 또는 https://www.modelscope.cn/datasets/gongjy/minimind_dataset/files 에서 데이터 세트를 다운로드하세요.
  • 설정 ./dataset 폴더에 있는 파일을 이 디렉터리로 추출합니다.
  • 추천 다운로드 pretrain_hq.jsonl(1.6GB) 및 sft_mini_512.jsonl(1.2GB).

교육 모델

  1. 사전 교육
  • 스크립트를 실행하여 사전 교육을 시작하세요:
    python train_pretrain.py
    
  • 기본 사용 pretrain_hq.jsonl출력 가중치는 다음과 같이 저장됩니다. pretrain_*.pth.
  • 멀티 카드 가속:
    torchrun --nproc_per_node 2 train_pretrain.py
    
  1. 명령 미세 조정
  • 미세 조정 스크립트를 실행합니다:
    python train_full_sft.py
    
  • 기본 사용 sft_mini_512.jsonl출력 가중치는 다음과 같이 저장됩니다. full_sft_*.pth.
  • 다중 카드 지원도 마찬가지입니다.
  1. LoRA 미세 조정
  • 도메인 데이터 준비(예 lora_medical.jsonl)를 클릭하고 실행합니다:
    python train_lora.py
    
  • 출력 가중치는 다음과 같이 저장됩니다. lora_xxx_*.pth.
  1. DPO 향상된 학습
  • 활용 dpo.jsonl 데이터, 실행:
    python train_dpo.py
    
  • 출력 가중치는 다음과 같이 저장됩니다. rlhf_*.pth.
  1. 시각화 교육
  • 매개변수 추가 --use_wandbAs:
    python train_pretrain.py --use_wandb
    
  • wandb 공식 웹사이트에서 교육 커리큘럼을 확인하세요.

모델을 사용한 추론

  1. 명령줄 추론
  • 모델 가중치(예: MiniMind2)를 다운로드합니다:
    git clone https://huggingface.co/jingyaogong/MiniMind2
    
  • 추론 실행:
    python eval_model.py --load 1 --model_mode 2
    
  • 매개변수 설명:--load 1 트랜스포머 형식에서는--model_mode 2 미니마인드2로.
  1. 웹챗
  • Streamlit을 설치합니다:
    pip install streamlit
    
  • 시작 인터페이스:
    cd scripts
    streamlit run web_demo.py
    
  • 브라우저에서 액세스 localhost:8501대화를 나눌 수 있습니다.
  1. API 서비스
  • 서버를 시작합니다:
    python serve_openai_api.py
    
  • 인터페이스를 테스트합니다:
    curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "MiniMind2", "messages": [{"role": "user", "content": "你好"}], "max_tokens": 512}'
    

주요 기능 작동

  • 시각적 멀티모달리티(미니마인드-V)
  • 미니마인드-V 모델을 다운로드하세요:
git clone https://huggingface.co/jingyaogong/MiniMind2-V
  • CLIP 시각화 모델을 다운로드하여 ./model/vision_model::
git clone https://huggingface.co/openai/clip-vit-base-patch16
  • 실행 중입니다:
python eval_vlm.py --load 1
  • 텍스트와 이미지를 입력하면 모델이 설명을 생성합니다.
  • 맞춤형 교육
  • 데이터를 다음과 같이 구성합니다. .jsonl 형식을 ./dataset.
  • 수정 ./model/LMConfig.py 매개변수(예 d_model 어쩌면 n_layers).
  • 위의 단계에 따라 훈련하세요.

주의

  • 비디오 메모리가 충분하지 않으면 batch_size 또는 증가 accumulation_steps.
  • 데이터 세트가 큰 경우 메모리 오버플로를 방지하기 위해 일괄 처리하세요.
  • 매우 긴 컨텍스트는 최대 2048년까지 RoPE 매개변수 조정을 지원합니다.

 

애플리케이션 시나리오

  1. AI 학습
    미니마인드는 초보자가 대규모 모델 학습 과정을 학습할 수 있도록 전체 코드와 데이터 세트를 제공합니다.
  2. 도메인 사용자 지정
    의료 Q&A 또는 고객 서비스 대화와 같은 개인 데이터로 모델을 훈련하세요.
  3. 저렴한 비용으로 배포
    26M 파라메트릭 모델은 스마트 홈과 같은 임베디드 디바이스에 적합합니다.
  4. 교육 데모
    교사는 AI 교육 과정을 시연하고 학생은 연습하는 데 사용할 수 있습니다.

 

QA

  1. 미니마인드에는 얼마나 많은 하드웨어가 필요하나요?
    단일 NVIDIA 3090 그래픽 카드로도 교육에 충분하며, CPU로도 실행할 수 있지만 속도가 느립니다.
  2. 2시간의 교육은 신뢰할 수 있나요?
    예, 3090 단일 카드 테스트에 따르면 26M 파라메트릭 모델은 처음부터 학습하는 데 약 2시간이 소요됩니다.
  3. 상업적으로 이용 가능한가요?
    예, 이 프로젝트는 Apache 2.0 라이선스에 따라 라이선스가 부여되어 자유롭게 사용 및 수정할 수 있습니다.
  4. 컨텍스트 길이를 연장하는 방법은 무엇인가요?
    최대 2048년까지 지원하도록 RoPE 매개변수를 조정하거나 더 긴 데이터로 미세 조정하세요.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...