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
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
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:
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.