Hable sobre el trabajo de ChatGPT de código abierto - MOSS

Desde el lanzamiento de ChatGPT, su "plan de tres pasos" es como las "Escrituras de Nueve Yin" que se adentran en el campo de la IA. Los métodos de práctica de varias sectas son diferentes. Algunas personas practican como Guo Jing, y lo practican paso a paso; Esto también muestra que el "plan de tres pasos" no es el final. Sobre la base de la recurrencia, piense más, como un monje del vino, reconozca las deficiencias del "Manual de Nueve Yin" y repárelos, para obtener el "Manual de Nueve Yang" que armoniza el yin y el yang, y se ayuda mutuamente.

Esta serie espera brindar una vista panorámica al presentar el trabajo similar a ChatGPT existente, para que los lectores puedan comprender sus similitudes y diferencias. Sería mejor si pudieran inspirarse. Limitado por la capacidad personal, puede haber omisiones y errores, bienvenidos a discutir juntos.

plan de tres pasos parte 1

Manteniendo el principio de autocontenido, presento brevemente la solución técnica de tres pasos de ChatGPT [1]. Se puede encontrar una introducción más detallada en Internet:

  1. Modelo SFT: se realiza un ajuste fino supervisado en el poderoso modelo de preentrenamiento GPT a través de datos de preguntas y respuestas etiquetados manualmente para obtener el modelo SFT. Este proceso también se puede llamar ajuste de instrucciones.

  1. Modelo de recompensa: el modelo SFT obtendrá múltiples respuestas a la misma pregunta, las marcará como buenas o malas y luego entrenará un modelo GPT con los datos etiquetados, para que el modelo pueda juzgar si la respuesta es buena o mala y luego obtener el modelo de recompensa.

  1. Modelo PPO: con el algoritmo de optimización de política proximal , deje que el modelo de recompensa guíe al modelo SFT para responder de acuerdo con las intenciones humanas y luego obtenga el modelo PPO, que es el modelo ChatGPT.

parte2musgo

Comencemos con el trabajo en chino. Moss de la Universidad de Fudan disparó el primer tiro de la versión china de ChatGPT en la noche del 20 al 23 de febrero, pero no pude abrir la página de inicio oficial esa noche. Recientemente, el equipo de MOSS cumplió su promesa y lanzó el modelo de preentrenamiento, el modelo SFT (incluida la versión del complemento) y los datos de entrenamiento juntos. Este debería ser el trabajo de ChatGPT chino de código abierto más completo. A continuación, echemos un vistazo desde varios aspectos:

efecto global

MOSS actualmente es de código abierto moss-moon-003-sft. Esta no es la versión final, pero las capacidades principales están básicamente disponibles. Los internautas en Zhihu lo han evaluado . La conclusión es que el rendimiento de MOSS ha alcanzado básicamente el 78% del de ChatGLM-6b. El funcionario dijo que los resultados de su evaluación se anunciarán más adelante, pero según mi experiencia subjetiva personal de usar moss-moon-003-sft, ChatGLM-6b es un poco mejor.

modelo pre-entrenado

Aunque los documentos relevantes aún no se han publicado, según la introducción de los participantes [2]:

La base es la inicialización de Codegen, su corpus de entrenamiento incluye pile bigquery bigpython, y continuamos entrenando previamente en 100B chino + 20B inglés y código.

Como modelo de generación de código, codegen se usa para inicializar el modelo base, lo cual es inevitablemente contrario a la intuición. Pero piénsalo:

  1. Mirando el país, el viento de los modelos grandes comenzó con el lanzamiento de Bert a fines de 2018. La estructura de solo decodificador no es tan popular como solo codificador y codificador-decodificador. Como resultado, no hay muchos modelos solo decodificadores desarrollados por escuelas y empresas, y hay aún menos modelos a gran escala.

  1. En ese momento, la versión grande de Bert tenía solo 300 millones de parámetros. Si quieres hacer un modelo de 10 mil millones, no solo necesitas coraje, sino también recursos. Hay muy pocos jugadores que pueden ingresar al juego, por lo que el modelo de 10 mil millones entrenado por otros no será fácilmente de código abierto.

  1. Escribir código para modelos grandes ahora es estándar, pero no hay muchos modelos grandes chinos de código abierto que usen código como datos de entrenamiento previo.

Por lo tanto, casi no existe un modelo grande solo de decodificador chino disponible de código abierto.De esta manera, si no hay un modelo grande desarrollado por sí mismo, continuar con el entrenamiento previo en un modelo de generación de código también es una solución de ahorro de curvas. Sin embargo, se estima que, debido a los recursos informáticos limitados, el equipo de MOSS continuó entrenando previamente 120B, lo que sigue siendo una brecha en comparación con los ahora populares LLaMA (tokens 1T+).

SFT

SFT部分的核心在于标注数据的质量,MOSS所用的SFT数据一大亮点是来自于真实用户的提问,同时他们也引入了3H(helpfulness, honesty, harmlessness)数据,这样即使是SFT模型,也能够具备初步的有助、无害、诚实的能力。目前开源了moss-002的标注数据,这部分的数据回复偏短,可能是由于使用Self-Instruct生成的缘故。SFT对数据质量的要求非常高,所谓“garbage in, garbage out”,Alpaca使用了self-instruct生成的数据,而Vicuna使用了shareGPT上用户真实的数据,效果上Vicuna明显胜出,中文方面目前很缺少像shareGPT这样的高质量数据。

SFT-plugin

MOSS团队同时还放出了会使用工具(即plugin)的版本——moss-moon-003-sft-plugin。大模型让人惊艳的能力之一便是它的推理能力,所谓推理,是指将复杂问题拆分为多个简单子问题的能力,通过逐个解决这些简单子问题,便能得到最终的正确答案。但在实际中,即使强如ChatGPT,在解决简单子问题的时候仍然容易出错,比如4位数的乘除法,一旦其中一个子问题出错,便会导致最终结果的错误。自然而然地,我们可以想到:让模型在解决简单子问题时通过使用外部工具以保证答案的正确性。

换一个角度,将模型比作大脑,而一个个工具则相当于是模型能与外部世界交互的手脚,这是一个令人激动的方向。近期这方面有不少亮眼的工作,如:ToolFormer[3]、ReAct[4]、HuggingGPT[5]、TaskMatrix.AI[6]、AutoGPT[7]……open AI自己也相应推出了ChatGPT plugins

让ChatGPT使用工具,仅仅需要在Prompt里说明每个工具即可,借助于ChatGPT强大的zero-shot推理能力,即使ChatGPT从未在训练过程中用过这些工具,它也能使用这个工具较好地完成任务。但对于像MOSS一样的百亿模型也可以吗?MOSS选择的方案是为每个工具构造对应的训练数据,然后用于训练模型,通过这种方式教会模型使用特定的工具。

“使用搜索工具”的训练数据

“使用搜索工具”的训练数据

这种方案优点是能够确保模型能够深刻理解每个工具的用处,但缺点也很明显:

  1. 每次添加新工具,需要对应构造训练数据,重新训练模型

  1. 从给出的样例来看,用户的问题仅需一个工具就被解决了,但实际中,用户的要求可能需要调用多个工具才能达成,比如:姚明比奥尼尔高多少?

总之,让模型自己分解任务,组合使用工具完成任务,被认为是“自主智能体”,这个方向这近期将会有大量的工作涌现。

Reward Model+PPO

MOSS repo的README中提到其最终版是经过偏好模型训练得来的,这里的偏好模型即Reward Model。目前能在PPO上取得收益的开源工作好像不多,所以很多类Chatgpt的工作也只是做了第一步SFT。目前MOSS还未开源这部分的工作,很期待看他们的实现细节。

——2023.04.24

Reference

[1] Introducing ChatGPT

[2] 复旦团队大模型 MOSS 开源了,有哪些技术亮点值得关注? - 孙天祥的回答 - 知乎

[3] Language Models Can Teach Themselves to Use Tools

[4] REACT : SYNERGIZING REASONING AND ACTING INLANGUAGE MODELS

[5] HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face

[6] TaskMatrix.AI: Completing Tasks by Connecting Foundation Models with Millions of APIs

[7] Auto-GPT: An Autonomous GPT-4 Experiment https://github.com/Significant-Gravitas/Auto-GPT

Supongo que te gusta

Origin blog.csdn.net/CompHub/article/details/130354853
Recomendado
Clasificación