HuggingGPT Paper 解读
https://arxiv.org/pdf/2303.17580.pdf
概括下
HuggingGPT 是一个框架,主要用来解决复杂任务. 主要包含 4 个阶段
- 计划阶段: 一个是大模型, 大模型会对用户描述的任务, 先进行 计划分解. 思考出 每个步骤, 步骤之间的依赖关系, 每个步骤的输入和输出产物, 步骤的顺序
- 模型选择: Huggingface 这种模型社区. Huggingface 会拿到具体的任务根据依赖关系确定好顺序, 根据当前要执行的任务描述. 和对应社区现有的专家模型的描述 做模型的选择. 将任务交给他去执行
- 任务执行: 各个专家模型会执行任务,把结果返回给 大模型
- 产生结果: 大模型会根据每一步的产出和最终的结果来综合得到答案,反馈给用户
根据目前我的理解, HuggingGPT 可以看做是一个 langchain 框架的复杂版,大规模版本
思路很像但又有不同.
任务步骤的拆分 -> 分步执行 -> 综合结果 大方向是一致的
具体的区别上
首先 任务的依赖和优先级相关 HuggingGPT 是内部去分辨处理的, langchain 里其实还是需要在编码中去考虑处理
一个 langchain 的 agent 只能明确执行某一类任务,Tool 是固定的. HuggingGPT 会自己(huggingface)动脑子去组装自己需要的工具.
模型间的通信应该是内部的协议通信, langchain 因为是自己编码, 所以 tool 里的实现完全自定义.
其他:
HuggingGPT 这个思路很符合大部分人正常的思考方式, 也是在很多领域里实践的. 1 个主脑, 下面各个专业的 leader. 各自负责, 最终汇总结果
也非常符合人类思考问题的方式. HuggingGPT 内部对计划阶段的 Prompt 其实并不复杂, 但他能解析出那么多信息, 我觉得很魔法. 依赖,顺序, 产出这些其实直接用自然语言都不是那么容易理解的逻辑,需要让大模型正确理解.
HuggingGPT 其实也代表的开源的一股力量, 越来越多的开源模型加入到 Huggingface, 这样可用的工具模型数量和质量上都有大的发展. 对结果的输出质量也会提高.
但这对 HuggingGPT 在计划阶段 和 模型选择上的精准度提出了更高的要求, 还有就是需要模型的描述够准确
这部分是对要求的指导: |