Implementación local de ChatGPT de código abierto en versión china (¡muy fácil de usar)!

Hoy utilicé un modelo Chatgpt súper fácil de usar: ChatGLM, que se puede implementar fácilmente localmente, y el efecto es muy bueno. Después de la prueba, el efecto básicamente puede reemplazar la versión beta de Wenxin Yiyan.

Tabla de contenido

1. ¿Qué es ChatGLM?

2. Despliegue local

2.1 Descarga del modelo

2.2 Implementación del modelo

2.3 Modelo en marcha

2.3.1 Ingrese directamente en la línea de comando para pregunta y respuesta

2.3.2 Uso de la biblioteca gradio para generar una página de preguntas y respuestas 

3. Comparación del efecto del modelo con ChatGPT y GPT4AII

3.1 ChatGLM

3.2 Chat GPT

3.3 GPT4AII

Cuatro Resumen


1. ¿Qué es ChatGLM?

ChatGLM-6B es un modelo de idioma de diálogo de código abierto que admite bilingües en chino e inglés. Se basa en la    arquitectura del Modelo de idioma general y tiene 6.200 millones de parámetros. En combinación con la tecnología de cuantificación de modelos, los usuarios pueden implementar localmente en tarjetas gráficas de consumo (solo se requieren 6 GB de memoria de video en el nivel de cuantificación INT4). ChatGLM-6B utiliza una tecnología similar a ChatGPT, optimizada para preguntas y respuestas y diálogos en chino. Después de aproximadamente 1T de identificadores de capacitación bilingüe chino-inglés, complementada con supervisión y ajuste, autoayuda de retroalimentación, aprendizaje de refuerzo de retroalimentación humana y otras tecnologías, ChatGLM-6B con 6.2 mil millones de parámetros ha podido generar respuestas que están bastante en línea. con las preferencias humanas.

2. Despliegue local

2.1 Descarga del modelo

Dirección de descarga de demostración:

GitHub - ZhangErling/ChatGLM-6B: Una versión que proporciona documentos de implementación de Windows | ChatGLM-6B: Modelo de lenguaje de diálogo bilingüe de código abierto | Un modelo de lenguaje de diálogo bilingüe abierto

2.2 Implementación del modelo

1. Abra el archivo del proyecto con Pycharm;

2. Use pip para instalar dependencias: pip install -r requirements.txt, donde  transformers se recomienda la versión de la biblioteca  4.27.1, pero teóricamente no inferior a  4.23.1 eso;

2.3 Modelo en marcha

Hay dos códigos de demostración en el  directorio .../ChatGLM/  :

2.3.1 Ingrese directamente en la línea de comando para pregunta y respuesta

(1) Modifique la ruta del modelo. Edite  el código cli_demo.py  , modifique la ruta de la carpeta del modelo en las líneas 5 y 6, y reemplace el  "THUDM/ChatGLM-6B" original  con  "model"  .

(2) Modificar la versión cuantificada. Si su memoria de video es más grande que 14G, puede omitir este paso sin cuantificación. Si su memoria de video es solo de 6G o 10G, necesita agregar quantize(4)  o  quantize(8) en la línea 6 del código   , de la siguiente manera:

# 6G 显存可以 4 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()

# 10G 显存可以 8 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(8).cuda()

(3) Ejecute  cli_demo.py 

2.3.2 Usar  la biblioteca gradio  para generar una página de preguntas y respuestas 

Use  la biblioteca de gradio  para generar una página de preguntas y respuestas (el efecto se muestra en 3).

 (1) Instale la biblioteca de gradio:

pip install gradio

(2) Modifique la ruta del modelo. Edite  el código cli_demo.py  , modifique la ruta de la carpeta del modelo en las líneas 5 y 6, y reemplace el  "THUDM/ChatGLM-6B" original  con  "model"  .

(3) Modificar la versión cuantificada. Si su memoria de video es más grande que 14G, puede omitir este paso sin cuantificación. Si su memoria de video es solo de 6G o 10G, necesita agregar quantize(4) o quantize(8) a la quinta línea de código, de la siguiente manera:

# 6G 显存可以 4 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()

# 10G 显存可以 8 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(8).cuda()

(4) Ejecute web_demo.py 

El proceso de carga del modelo es el siguiente:

3. Comparación del efecto del modelo con ChatGPT y GPT4AII

Después de ejecutar web_demo.py, el navegador se abrirá automáticamente y se mostrará la siguiente interfaz, y se puede llevar a cabo un diálogo normal, y la velocidad de respuesta es muy rápida.

3.1 ChatGLM

Pregunte a ChatGLM: "Se tarda 10 minutos en cocer al vapor 1 bollo, ¿cuánto se tarda en cocer al vapor 10 bollos?" La respuesta es muy razonable.

3.2 Chat GPT

Hágale la misma pregunta a ChatGPT: "Se tarda 10 minutos en cocer al vapor 1 bollo, ¿cuánto se tarda en cocer al vapor 10 bollos?" La respuesta es un poco más sencilla.

3.3 GPT4AII

En la publicación de blog anterior, presentamos GPT4ALL, que solo puede realizar diálogos en inglés y hacer preguntas relacionadas en inglés, y descubrimos que el efecto no es tan bueno como ChatGLM y ChatGPT. 

Cuatro Resumen

ChatGLM es fácil de implementar y tiene un buen conocimiento del chino. Su ventaja es que no necesita estar conectado a Internet después de la implementación y no requiere iniciar sesión en la cuenta. Es muy seguro. Su desventaja es que no puede incrementarse aprenda la información más reciente en Internet, y la expansión de la base de conocimientos requiere muestras de capacitación adicionales.

Supongo que te gusta

Origin blog.csdn.net/weixin_43734080/article/details/130016026
Recomendado
Clasificación