自作の初期融合音声モデル
注記
更新日: 2024 年 9 月 30 日
llama3-s から ? にブランド変更しました。いちご。
私たちのカスタム構築された初期融合音声モデルには名前と音声が追加されました。
マルチターン機能が向上し、聞き取れないクエリの処理を拒否できるようになりました。
警告
いちごは公開研究実験です
Homebrew の Discord の#research
チャンネルに参加してください
#research-livestream
でトレーニングの様子をライブストリーミングします
Ichigo は、テキストベースの LLM を拡張してネイティブの「リスニング」能力を持たせるためのオープンで進行中の研究実験です。これは、デバイス Siri 上のオープン データ、オープン ウェイトと考えてください。
メタのカメレオン論文からインスピレーションを得た初期融合技術を使用しています。
私たちは公共の場で電車を作ります。
Ichigo v0.3 チェックポイントの書き込み
いちご v0.2 チェックポイントの書き込み
いちご v0.1 チェックポイントの書き込み
10月22日: ?研究論文の公開:Ichigo シリーズの開発と技術革新の詳細を説明する研究論文の出版を発表できることを嬉しく思います。完全な技術的詳細、方法論、実験結果は、現在私たちの論文でご覧いただけます。
10 月 4 日:Ichigo v0.3 モデルが利用可能になりました。よりクリーンで改善されたデータを利用することで、私たちのモデルは 63.79 という強化された MMLU スコアを達成し、マルチターン インタラクションでも強力な音声命令追従機能を実証しました。さらに、ノイズ合成データを組み込むことで、ユーザーからの非音声オーディオ入力の処理を拒否するようにモデルをトレーニングすることに成功し、その機能とユーザー エクスペリエンスがさらに向上しました。
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) を示しました。
いちごはオープンリサーチプロジェクトです。私たちは協力者を探しており、将来的には音声データセットのクラウドソーシングに移行する可能性があります。
最新モデルを試すには、このノートブックをチェックしてください。
合成生成の詳細については、合成生成ガイドを参照してください。
まず、github からリポジトリのクローンを作成します。
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 ~ 8 GPU をサポート)
tune run --nproc_per_node 4 full_finetune_fsdp2 --config recipes/configs/jan-llama3-1-s/8B_full.yaml
Docker を使用して、Ichigo Web UI デモをセルフホストする方法については、Ichigo デモを参照してください。単一の 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: 混合モーダル早期融合財団モデル}, author={Chameleon Team}、year={2024}、eprint={2405.09818}、archivePrefix={arXiv}、primaryClass={cs.CL}、journal={arXiv preprint}}@misc{zhang2024adamminiusefewerlearning、title={Adam- mini: 学習率を下げてより多くの成果を得る}, author={Yushun Zhang と Congliang Chen と Ziniu Li と Tian Ding と Chenwei Wu と yingyu Ye と Zhi-Quan Luo と Ruoyu Sun}、 year={2024}、eprint={2406.16793}、archivePrefix={arXiv}、primaryClass= {cs.LG}、journal={arXiv preprint}}@misc{defossez2022highfi、title={ハイファイ ニューラル オーディオ圧縮}、著者={Défossez、Alexandre と Copet、Jade と Synnaeve、Gabriel と Adi、Yossi}、year= {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 リポジトリ}}
トーチチューン: 私たちが構築したコードベース
Accelerate: 分散トレーニングを簡単に使用するためのライブラリ
WhisperSpeech: 合成音声生成用のテキスト読み上げモデル
エンコーデック: 効率的なオーディオ圧縮のための高忠実度ニューラル オーディオ コーデック
Llama3: 驚くべき言語機能を備えたモデルのファミリーです。