自製的早期融合語音模型
筆記
更新:2024 年 9 月 30 日
我們已從 llama3-s 更名為 ?一護。
我們定制的早期融合語音模型現在有了名字和聲音。
它改進了多輪功能,現在可以拒絕處理聽不見的查詢。
警告
Ichigo 是一個開放的研究實驗
加入我們 Homebrew 的 Discord 中的#research
頻道
我們在#research-livestream
中直播訓練
Ichigo 是一項開放的、正在進行的研究實驗,旨在擴展基於文本的法學碩士,使其具有原生的「聽力」能力。將其視為設備 Siri 上的開放資料、開放權重。
它使用受 Meta 的 Chameleon 論文啟發的早期融合技術。
我們在公共場合建造火車:
Ichigo v0.3 檢查點寫入
Ichigo v0.2 檢查點寫入
Ichigo v0.1 檢查點寫入
10 月 22 日:?研究論文發表:我們很高興地宣布發表研究論文,詳細介紹了 Ichigo 系列背後的開發和技術創新。完整的技術細節、方法和實驗結果現已在我們的論文中提供。
10 月 4 日:Ichigo v0.3 模型現已上市。利用更清晰和改進的數據,我們的模型獲得了 63.79 的增強 MMLU 分數,並且即使在多輪互動中也表現出更強的語音指令追蹤能力。此外,透過合併噪音合成數據,我們成功訓練模型拒絕處理使用者的非語音音訊輸入,進一步改善其功能和使用者體驗。
8 月23 日:我們很高興分享Ichigo-llama3.1-s-instruct-v0.2,這是我們最新的多模態檢查點,透過交錯合成資料的訓練增強模型的音訊指令追蹤能力,從而提高了語音理解能力。
8 月 17 日:我們在連續語音資料上預先訓練了 LLaMA 3.1 模型,並使用 WhisperSpeechVQ 進行標記。最終損失收斂到大約 1.9,產生我們的檢查點:Ichigo-llama3.1-s-base-v0.2
8 月 1 日:發現原始訓練配方中的拼字錯誤,導致顯著退化(MMLU:0.6 -> 0.2),建議修復。
7 月 30 日:在以下位置介紹了 llama3-s 的進展:AI 訓練:從 PyTorch 到 GPU 集群
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 Web UI 演示的說明,請造訪:Ichigo demo。要在單一 RTX 4090 GPU 上嘗試我們的演示,您可以直接訪問:https://ichigo.homebrew.ltd。
我們為使用者提供建立 Web 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:混合模態早期融合基礎模型}, 作者={變色龍團隊},年份={2024},eprint={2405.09818},archivePrefix={arXiv},primaryClass={cs.CL},期刊={arXiv預印本}}@misc{zhang2024adamminiusefewerarning,標題預印本}}@misc{zhang2024adamminiusefewerarning,標題= - mini:使用更少的學習率獲得更多}, 作者={張玉順、陳從良、李子牛、丁田、吳陳偉、葉音宇、羅誌全、孫若宇},年份={2024},eprint={2406.16793},archivePrefix={arXiv},primaryClass= {cs.LG },journal={arXiv 預印本}}@misc{defossez2022highfi,title={高保真神經音訊壓縮},作者={Défossez、Alexandre 和Copet、Jade 和Synnaeve、Gabriel 和Adi、Yossi},年份= {2022} ,eprint={2210.13438},archivePrefix={arXiv},journal={arXiv preprint}}@misc{WhisperSpeech,title={WhisperSpeech:由Inverting Whisper 建構的開源文字轉語音系統}, 作者={Collabora 和 LAION},年份={2024},url={https://github.com/collabora/WhisperSpeech},註解={GitHub 儲存庫}}
Torchtune:我們建構的程式碼庫
加速:輕鬆使用分散式訓練的函式庫
WhisperSpeech:用於產生合成音訊的文字轉語音模型
編碼器:用於高效能音訊壓縮的高保真神經音訊編解碼器
Llama3:我們所基於的模型系列具有驚人的語言能力!