❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
功能:优化多智能体系统中的通信效率和任务性能。
技术:基于迭代训练范式和强化学习算法。
应用:适用于信息不对称问答、复杂推理任务和多智能体游戏等场景。
正文(附运行示例)
Optima 是什么
Optima是清华大学推出的优化基于大型语言模型(LLM)的多智能体系统(MAS)的框架。该框架通过一个迭代的生成、排名、选择和训练范式,显著提高了通信效率和任务效果。Optima不仅平衡了任务性能、令牌效率和通信可读性,还探索了多种强化学习算法,并集成了蒙特卡洛树搜索技术生成高质量的训练数据。
在多智能体任务中,Optima展示了超越单智能体基线和传统MAS的性能,实现了高达2.8倍的性能提升,并减少了令牌使用。Optima的效率提升为更有效的推理计算和改进的推理时间扩展法则提供了新的可能性。
Optima 的主要功能
- 通信效率提升:优化多智能体系统(MAS)中的智能体间通信,减少完成任务所需的令牌数量,提高通信效率。
- 任务性能增强:基于迭代训练和奖励函数的平衡,提升智能体在复杂任务中的表现,包括信息不对称问答和复杂推理任务。
- 可扩展性:支持MAS在处理更大规模和更复杂的任务时保持有效性,提高系统的可扩展性。
- 推理时间扩展法则改进:减少令牌使用,为改进推理时间扩展法则提供可能性,有助于在更低的计算成本下实现更好的性能。
Optima 的技术原理
- 迭代训练范式:基于迭代的生成(generate)、排名(rank)、选择(select)和训练(train)范式,逐步优化智能体的行为。
- 奖励函数:设计奖励函数,平衡任务性能、令牌效率和通信可读性,引导智能体在保持通信效率的同时完成任务。
- 强化学习算法:探索包括监督式微调(SFT)、直接偏好优化(DPO)及混合方法在内的多种强化学习算法,优化智能体的行为。
- 蒙特卡洛树搜索(MCTS):集成MCTS启发式技术,将对话轮次视为树节点,探索多样化的交互路径,生成高质量的DPO训练数据。
- 多目标优化:基于奖励函数同时考虑多个目标,在提升任务性能的同时,注重通信效率和输出的可解释性。
如何运行 Optima
Optima的运行需要两个conda环境:一个用于vLLM部署,另一个用于训练,两者都使用Python 3.11。以下是设置环境的步骤:
vLLM 环境
conda create -n optima-vllm python=3.11
conda activate optima-vllm
conda install nvidia/label/cuda-12.1.0::cuda-nvcc
conda install pytorch=2.3.1 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
pip install vllm==0.5.3
训练环境
conda create -n optima-train python=3.11
conda activate optima-train
conda install nvidia/label/cuda-12.1.0::cuda-nvcc
conda install pytorch=2.3.1 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
cd alignment-handbook
pip install -e .
cd ../
pip install -r requirements.txt
运行示例
以下是如何在ARC-C数据集上运行iSFT、iDPO和iSFT-DPO设置的示例:
iSFT 设置
MKL_THREADING_LAYER=GNU python sft_script.py \
--train_config_path train/sft_recipes/arc.yaml \
--vllm_env optima-vllm \
--alignment_env optima-train
iDPO 设置
MKL_THREADING_LAYER=GNU python dpo_script.py \
--train_config_path train/dpo_recipes/arc.yaml \
--vllm_env optima-vllm \
--alignment_env optima-train
iSFT-DPO 设置
MKL_THREADING_LAYER=GNU python sft_dpo_script.py \
--train_config_path train/sft_dpo_recipes/arc.yaml \
--vllm_env optima-vllm \
--alignment_env optima-train
资源
- 项目官网:https://chenweize1998.github.io/optima-project-page/
- GitHub 仓库:https://github.com/thunlp/Optima
- arXiv 技术论文:https://arxiv.org/pdf/2410.08115
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦