PaddlePaddle/PaddleFormers

PaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.

PaddleFormers – PaddlePaddle의 Transformers

정의 – PaddleFormers는 Hugging Face Transformers 스타일의 API를 바이두의 딥러닝 프레임워크 PaddlePaddle에 제공하는 라이브러리입니다. 고성능 분산 전략(텐서, 파이프라인, 전문가 병렬, FP8 등)을 사용한 대규모 언어 모델(LLM) 및 비전-언어 모델(VLM)의 훈련과 미세 조정에 중점을 두며, 최신 모델의 광범위한 카탈로그를 지원합니다.


주요 기능(README 기준)

  • 광범위한 모델 커버리지 – 100개 이상의 LLM 및 VLM 제품군(DeepSeek-V3/V4, GLM-4.5, Qwen 2/3/3.5, Llama 3/4, ERNIE-4.5, Gemma-3 등).
  • 성능 우선 훈련 – FP8 저정밀도, FlashMLA 어텐션, 고도로 최적화된 통신/계산 오버랩, 전문가 병렬 라이브러리(DeepEP/HybridEP). 여러 모델에서 Megatron-LM을 능가한다고 주장.
  • 전체 훈련 파이프라인 – 사전 훈련, 명령어 튜닝(SFT/LoRA), 선호도 정렬(DPO/LoRA), 그리고 사후 훈련 기능(CPT, SFT-LoRA, DPO-LoRA, 함수 호출, 추론, 그라운딩 등).
  • Safetensors 지원 – 모델은 상호 운용 가능한 Safetensors 형식으로 저장되며 FastDeploy, vLLM, SGLang 등에서 사용할 수 있습니다.
  • 하드웨어 유연성 – 중국산 가속기(Kunlun P800, TianShu TianGai 150, MuXi C550, MUSA 등)를 네이티브 지원하며 전용 설치 가이드를 제공합니다.
  • API 호환성 – Hugging Face와 동일한 클래스 이름(AutoTokenizer, AutoModelForCausalLM 등)을 사용하여 마이그레이션이 간단합니다.

설치(빠른 요약)

  1. 사전 요구 사항 – Python ≥ 3.12, CUDA ≥ 13.0, PaddleFleet ≥ 0.3(GPU 훈련용).
  2. Docker(권장) – 공식 PaddlePaddle GPU 이미지를 풀하고 리포지토리를 마운트한 컨테이너를 실행합니다.
  3. Pip / 소스 –
    # 소스에서(훈련 종속성을 포함한 편집 가능 설치)
    git clone https://github.com/PaddlePaddle/PaddleFormers.git && cd PaddleFormers
    python -m pip install -e '.[paddlefleet]' \
        --extra-index-url https://www.paddlepaddle.org.cn/packages/nightly/cu126/ \
        --extra-index-url https://www.paddlepaddle.org.cn/packages/stable/cu126/
    
    또는 추론 전용 바이너리 패키지 설치:
    python -m pip install paddleformers
    
  4. 특수 하드웨어 – XPU, ILUVATAR-GPU, Metax-GPU, MUSA용 별도 가이드를 제공합니다.

빠른 시작 코드

from paddleformers.transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-0.6B-Base")
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B-Base", dtype="bfloat16"
).eval()

inputs = tokenizer("請給我一段大模型的簡短介紹:", return_tensors="pd")
output_ids = model.generate(**inputs, max_new_tokens=256)[0].tolist()[0]
print(tokenizer.decode(output_ids, skip_special_tokens=True))

CLI로 훈련을 시작할 수 있습니다:

paddleformers-cli train ./examples/config/sft/full.yaml

일반적인 사용 사례

  • 연구 및 개발 – 멀티 GPU 또는 멀티 노드 클러스터에서 대규모 LLM(예: DeepSeek-V4, 128K 컨텍스트)을 사전 훈련하거나 계속 훈련합니다.
  • 명령어 미세 조정 – SFT, LoRA 또는 DPO를 적용하여 채팅, 추론 또는 함수 호출에 맞게 모델을 조정합니다.
  • 멀티모달 프로젝트 – Qwen-VL 또는 PaddleOCR-VL과 같은 VLM을 동일한 API로 훈련합니다.
  • 배포 – Safetensors로 내보내고 FastDeploy, vLLM 또는 기타 추론 엔진으로 서비스합니다.
  • 국내 하드웨어 – Kunlun, TianShu 또는 기타 중국 GPU를 활용하여 비용 효율적인 대규모 모델 훈련을 수행합니다.

커뮤니티 및 거버넌스

  • 오픈소스 라이선스 – Apache-2.0.
  • 기여 – 가이드라인은 CONTRIBUTING.md에 있으며, 커뮤니티의 코드 및 모델 제출을 환영합니다.
  • 지원 채널 – 개발자 그룹용 공식 WeChat QR 코드와 문제 해결용 GitHub issues를 제공합니다.
  • 감사의 말 – Hugging Face Transformers의 디자인 아이디어를 기반으로 합니다.

요약: PaddleFormers는 PaddlePaddle 생태계를 위한 풀스택 고성능 Transformers 라이브러리로, 대규모 LLM/VLM 훈련, 미세 조정 및 배포를 대상으로 하며, 특히 중국 하드웨어와 분산 훈련 효율성에 중점을 둡니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch