🚀 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许可证。详细信息请参考论文。