🚀 EchoLLaMA:藉助多模態AI實現3D到語音的轉換
EchoLLaMA是一個多模態AI系統,它能夠將3D視覺數據轉換為自然的語音描述,同時支持通過語音輸入進行交互式對話。本項目實現了基於Direct Preference Optimization (DPO) 微調的LLaMA - 3.2 - 1B - Instruct模型,用於生成豐富的3D場景文本描述。

🚀 快速開始
安裝
git clone https://github.com/The-Aqua-Labs/EchoLLaMA-Pipeline.git
cd EchoLLaMA-Pipeline
然後運行Jupyter Notebook文件。
✨ 主要特性
- 3D物體檢測矩陣:構建基於網格的檢測物體表示,並帶有空間座標。
- 深度感知場景理解:結合相對深度值來捕捉3D關係。
- 自然語言生成:生成連貫且上下文豐富的描述。
- 高質量語音合成:將文本描述轉換為自然的語音。
📦 安裝指南
git clone https://github.com/The-Aqua-Labs/EchoLLaMA-Pipeline.git
cd EchoLLaMA-Pipeline
運行Jupyter Notebook文件即可。
📚 詳細文檔
模型架構
EchoLLaMA管道集成了四個專門的模型:
- 圖像分析:
- DETR(DEtection TRansformer)用於物體檢測。
- MiDaS用於單目深度估計。
- Moondream用於整體圖像描述生成。
- 文本生成:
- 基於DPO微調的LLaMA - 3.2 - 1B - Instruct。
- 語音合成:
- 在Elise英語語音數據集上微調的Orpheus - 3B - 0.1 - ft TTS模型。
- 語音識別:
- SpeechRecognition包用於轉錄用戶語音輸入。
訓練細節
LLaMA模型
LLaMA - 3.2 - 1B - Instruct模型使用以下方法進行微調:
- 技術:使用LoRA的Direct Preference Optimization (DPO)。
- 數據集:來自COCO 2017的2000個樣本,經過DETR和Moondream處理。
- 選擇的響應:由DeepSeek - V3 - 0324生成。
- 拒絕的響應:由預微調的LLaMA - 3.2 - 1B - Instruct生成。
- 訓練參數:
- LoRA秩:8
- β (DPO):0.1
- 學習率:2×10⁻⁵,採用餘弦衰減
- 批量大小:16(2×8累積)
- 序列長度:8192
- 硬件:2×T4 GPU
- 訓練時間:1小時40分鐘
Orpheus模型
Orpheus - 3B - 0.1 - ft TTS模型使用以下方法進行微調:
- 技術:Low - Rank Adaptation (LoRA)。
- 數據集:Elise英語語音數據集。
- 訓練參數:
- LoRA秩 (r):64
- LoRA Alpha (α):64
- LoRA Dropout:0
- 學習率:2×10⁻⁴
- 硬件:2×T4 GPU
- 訓練時間:47分鐘
管道流程
- 使用DETR進行物體檢測,使用MiDaS進行深度估計處理圖像。
- Moondream生成描述圖像內容的標題。
- 將物體檢測矩陣和標題組合成提示。
- LLaMA - 3.2 - 1B - Instruct生成詳細的文本描述。
- Orpheus - 3B - 0.1 - ft將文本轉換為語音。
數據集
訓練數據集包含1999個樣本,每個樣本包括:
- 一個包含物體檢測矩陣和標題的圖像派生提示。
- 來自DeepSeek - V3 - 0324的選擇響應。
- 來自LLaMA - 3.2 - 1B - Instruct的拒絕響應。
你可以在AquaLabs/Spatial - DPO - Dataset訪問該數據集。
模型權重
貢獻者
📄 許可證
本項目採用Apache - 2.0許可證。詳細信息請參考論文。