LLM(대형 언어 모델)이 쉬워진 EasyLM은 JAX/Flax에서 LLM 사전 훈련, 미세 조정, 평가 및 제공을 위한 원스톱 솔루션입니다. EasyLM은 JAX의 pjit 기능을 활용하여 LLM 교육을 수백 개의 TPU/GPU 가속기로 확장할 수 있습니다.
Hugginface의 변환기 및 데이터세트를 기반으로 구축된 이 저장소는 다른 많은 프레임워크의 복잡성 없이 대규모 언어 모델을 훈련하기 위한 사용하기 쉽고 사용자 정의하기 쉬운 코드베이스를 제공합니다.
EasyLM은 JAX/Flax로 구축되었습니다. EasyLM은 JAX의 pjit 유틸리티를 활용하여 모델 가중치와 훈련 데이터를 여러 가속기에 분할하여 단일 가속기에 맞지 않는 대규모 모델을 훈련할 수 있습니다. 현재 EasyLM은 단일 호스트에서의 다중 TPU/GPU 학습은 물론 Google Cloud TPU Pod에서의 다중 호스트 학습도 지원합니다.
현재 다음 모델이 지원됩니다.
우리는 JAX의 LLM 교육과 관련된 토론을 위해 비공식 Discord 커뮤니티(Google과 제휴하지 않음)를 운영하고 있습니다. Discord 서버에 가입하려면 이 링크를 따르세요. 우리는 EasyLM, JaxSeq, Alpa 및 Levanter를 포함한 여러 JAX 기반 LLM 프레임워크를 위한 전용 채널을 보유하고 있습니다.
OpenLLaMA는 상업적 목적으로 사용할 수 있는 LLaMA의 허가된 복제물입니다. 여기에서 프로젝트 메인 페이지를 확인하세요. OpenLLaMA는 EasyLM의 LLaMA 가중치를 대체하는 역할을 할 수 있습니다. 자세한 내용은 LLaMA 문서를 참고하세요.
Koala는 LLaMA를 기반으로 미세 조정된 새로운 챗봇입니다. Koala 챗봇에 관심이 있으시면 블로그 게시물과 로컬에서 실행하는 방법에 대한 설명서를 확인하실 수 있습니다.
설치 방법은 GPU 호스트와 Cloud TPU 호스트마다 다릅니다. 첫 번째 단계는 GitHub에서 가져오는 것입니다.
git clone https://github.com/young-geng/EasyLM.git
cd EasyLM
export PYTHONPATH= " ${PWD} : $PYTHONPATH "
GPU 환경은 Anaconda를 통해 설치할 수 있습니다.
conda env create -f scripts/gpu_environment.yml
conda activate EasyLM
TPU 호스트 VM에는 Python 및 PIP가 사전 설치되어 제공됩니다. TPU 호스트를 설정하려면 다음 스크립트를 실행하기만 하면 됩니다.
./scripts/tpu_vm_setup.sh
EasyLM 문서는 docs 디렉토리에서 찾을 수 있습니다.
연구나 응용 분야에서 EasyLM이 유용하다고 생각되면 다음 BibTeX를 사용하여 인용해 주세요.
@software{geng2023easylm,
author = {Geng, Xinyang},
title = {EasyLM: A Simple And Scalable Training Framework for Large Language Models},
month = March,
year = 2023,
url = {https://github.com/young-geng/EasyLM}
}