집에서 만든 초기 융합 음성 모델
메모
업데이트: 2024년 9월 30일
llama3-s에서 ?로 브랜드가 변경되었습니다. 이치고.
맞춤형 초기 융합 음성 모델에는 이제 이름과 음성이 있습니다.
다중 회전 기능이 향상되었으며 이제 들리지 않는 쿼리 처리를 거부할 수 있습니다.
경고
Ichigo는 공개 연구 실험입니다.
Homebrew's Discord의 #research
채널에 참여하세요
#research-livestream
에서 교육을 실시간 스트리밍합니다.
Ichigo는 텍스트 기반 LLM을 기본 "듣기" 능력으로 확장하기 위한 공개적이고 지속적인 연구 실험입니다. 이를 장치 Siri의 공개 데이터, 공개 가중치로 생각하십시오.
메타의 카멜레온 종이에서 영감을 받은 초기 융합 기술을 사용합니다.
우리는 공개적으로 기차를 건설합니다 :
Ichigo v0.3 체크포인트 작성
Ichigo v0.2 체크포인트 작성
Ichigo v0.1 체크포인트 작성
10월 22일: ? 연구 논문 발표: Ichigo 시리즈의 개발 및 기술 혁신을 자세히 설명하는 연구 논문의 출판을 발표하게 된 것을 기쁘게 생각합니다. 이제 전체 기술 세부 사항, 방법론 및 실험 결과를 우리 논문에서 확인할 수 있습니다.
10월 4일: 이제 Ichigo v0.3 모델을 사용할 수 있습니다. 더 깨끗하고 개선된 데이터를 활용하여 우리 모델은 향상된 MMLU 점수 63.79를 달성했으며 다중 회전 상호 작용에서도 더 강력한 음성 지시 따르기 기능을 보여줍니다. 또한, 잡음 합성 데이터를 통합함으로써 사용자의 비음성 오디오 입력 처리를 거부하도록 모델을 성공적으로 훈련시켜 기능과 사용자 경험을 더욱 향상시켰습니다.
8월 23일: 인터리빙 합성 데이터에 대한 교육을 통해 모델의 오디오 지시 따르기 기능을 강화하여 음성 이해가 향상된 최신 다중 모드 체크포인트인 Ichigo-llama3.1-s-instruct-v0.2를 공유하게 되어 기쁘게 생각합니다.
8월 17일: WhisperSpeechVQ를 사용하여 토큰화된 연속 음성 데이터에 대한 LLaMA 3.1 모델을 사전 훈련했습니다. 최종 손실은 약 1.9로 수렴되어 체크포인트가 생성되었습니다: Ichigo-llama3.1-s-base-v0.2
8월 1일: 원래 훈련 레시피에서 오타를 식별하여 심각한 성능 저하(MMLU: 0.6 -> 0.2)를 유발하고 수정 사항을 제안했습니다.
7월 30일: AI 교육: PyTorch에서 GPU 클러스터까지 llama3-s 진행 상황 발표
7월 19일: llama3-s-2024-07-19는 제한된 결과로 합성 음성을 이해합니다.
7월 1일: llama3-s-2024-07-08은 제한된 데이터로 수렴 손실(1.7)을 나타냈습니다.
Ichigo는 공개 연구 프로젝트입니다. 우리는 협력자를 찾고 있으며 앞으로는 음성 데이터 세트를 크라우드소싱하는 방향으로 나아갈 것입니다.
최신 모델을 사용해 보려면 이 노트북을 확인하세요.
합성 생성에 대한 자세한 내용은 합성 생성 가이드를 참조하세요.
먼저 github에서 Repo를 복제하세요.
git clone --recurse-submodules https://github.com/homebrewltd/llama3-s.git
폴더 구조는 다음과 같습니다.
Ichigo ├── HF_Trainer # HF training code (deprecated) ├── synthetic_data # Synthetic data generation pipeline ├── configs # Audio pipeline configs ├── audio_to_audio # Parler audio (.wav) to semantic tokens ├── synthetic_generation_config # TTS semantic tokens ├── scripts # Setup scripts for Runpod ├── torchtune # Submodule: our fork of fsdp with checkpointing ├── model_zoo # Model checkpoints │ ├── LLM │ │ ├── Meta-Llama-3-8B-Instruct │ │ ├── Meta-Llama-3-70B-Instruct ├── demo # Selfhost this demo (vllm) ├── inference # Google Colab
종속성 설치
python -m venv hf_trainer chmod +x scripts/install.sh ./scripts/install.sh
지금 셸을 다시 시작하세요.
chmod +x scripts/setup.sh ./scripts/setup.sh source myenv/bin/activate
포옹 얼굴 로깅
huggingface-cli login --token=
훈련
export CUTLASS_PATH="cutlass" export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 accelerate launch --config_file ./accelerate_config.yaml train.py
패키지 설치
python -m venv torchtune pip install torch torchvision tensorboard cd ./torchtune pip install -e .
tune을 사용하여 모델을 다운로드할 수도 있습니다.
tune download homebrewltd/llama3.1-s-whispervq-init --hf-token--output-dir ../model_zoo/llama3.1-s-whispervq-init --ignore-patterns "original/consolidated*"
다음 YAML 파일에서 경로를 변경하고 모델 이름을 변경하여 HF 경로에서 데이터 세트를 설정합니다.
nano torchtune/recipes/configs/jan-llama3-s/8B_full.yaml
다중 GPU 훈련(1-8GPU 지원)
tune run --nproc_per_node 4 full_finetune_fsdp2 --config recipes/configs/jan-llama3-1-s/8B_full.yaml
Docker를 사용하여 Ichigo 웹 UI 데모를 자체 호스팅하는 방법에 대한 지침을 보려면 Ichigo 데모를 방문하세요. 단일 RTX 4090 GPU에서 데모를 사용해 보려면 https://ichigo.homebrew.ltd로 직접 이동하세요.
우리는 사용자가 웹 UI 데모를 만들 수 있는 코드를 제공합니다. 아래 지침을 따르십시오.
python -m venv demo source demo/bin/activate # First install all required packages pip install --no-cache-dir -r ./demo/requirements.txt
그런 다음 아래 명령을 실행하여 Gradio 데모를 로컬에서 시작하세요. 양자화된 사용을 위해 use-4bit
및 use-8bit
변수를 추가할 수 있습니다.
python -m demo.app --host 0.0.0.0 --port 7860 --max-seq-len 1024
더 빠른 추론을 위해 vLLM을 사용하여 데모를 호스팅할 수도 있지만 스트리밍 출력은 지원하지 않습니다.
python -m demo.app_vllm
또는 HuggingFace에서 데모를 쉽게 시도해 볼 수도 있습니다.
@misc{chameleonteam2024chameleonmixedmodalearlyfusionfoundation, title={카멜레온: 혼합 모드 조기 융합 기초 모델}, 작성자={Chameleon Team}, 연도={2024}, eprint={2405.09818}, archivePrefix={arXiv}, PrimaryClass={cs.CL}, Journal={arXiv preprint}}@misc{zhang2024adamminiusefewerlearning, title={Adam- 미니: 더 적은 학습률을 사용하여 더 많은 것을 얻으세요}, 작성자={Yushun Zhang, Congliang Chen, Ziniu Li, Tian Ding, Chenwei Wu, Yinyu Ye, Zhi-Quan Luo 및 Ruoyu Sun}, year={2024}, eprint={2406.16793}, archivePrefix={arXiv},primaryClass= {cs.LG}, 저널={arXiv preprint}}@misc{defossez2022highfi, title={고충실도 신경 오디오 압축}, 저자={Défossez, Alexandre and Copet, Jade and Synnaeve, Gabriel and Adi, Yossi}, 연도= {2022}, eprint={2210.13438}, archivePrefix={arXiv}, Journal={arXiv preprint}}@misc{WhisperSpeech, title={WhisperSpeech: Whisper를 반전시켜 구축한 오픈 소스 텍스트 음성 변환 시스템}, 작성자={Collabora 및 LAION}, 연도={2024}, url={https://github.com/collabora/WhisperSpeech}, note={GitHub 저장소}}
Torchtune: 우리가 구축한 코드베이스
Accelerate: 분산 교육을 쉽게 사용할 수 있는 라이브러리
WhisperSpeech: 합성 오디오 생성을 위한 텍스트 음성 변환 모델
인코딩: 효율적인 오디오 압축을 위한 고성능 신경 오디오 코덱
Llama3: 우리의 기반이 되는 모델군은 놀라운 언어 능력을 가지고 있습니다!!!