Home
Login

Un conjunto de herramientas escalable, conveniente y eficiente para el ajuste fino e inferencia de modelos fundacionales grandes, diseñado para ser fácil de usar, rápido y confiable, y abierto a toda la comunidad.

Apache-2.0Python 8.4kOptimalScale Last Updated: 2025-05-15

LMFlow - Kit de herramientas para el ajuste fino e inferencia de modelos fundacionales grandes

Resumen del proyecto

LMFlow es un proyecto de código abierto desarrollado por el equipo de OptimalScale, un kit de herramientas escalable, conveniente y eficiente para el ajuste fino de modelos de aprendizaje automático grandes. El proyecto está diseñado para ser fácil de usar, rápido y confiable, con el objetivo de hacer que la tecnología de modelos de lenguaje grandes esté disponible para toda la comunidad, cumpliendo la visión de "poner los modelos grandes al servicio de todos".

Dirección del proyecto: https://github.com/OptimalScale/LMFlow

Características principales

1. Soporte para diversos métodos de entrenamiento

  • Ajuste fino de parámetros completos: Actualiza todos los parámetros para ajustar el modelo de lenguaje.
  • LoRA (Adaptación de bajo rango): Algoritmo de ajuste fino eficiente en parámetros, más eficiente que el ajuste fino de parámetros completos.
  • LISA (Muestreo de importancia por capas): Algoritmo de ajuste fino eficiente en memoria, capaz de entrenar modelos de 7B en 24 GB de memoria de GPU sin descarga.

2. Amplio soporte de modelos

Admite una variedad de modelos de lenguaje grandes convencionales, incluyendo:

  • Serie DeepSeek: deepseek, deepseek_v2, deepseek_r1, etc.
  • Serie LLaMA: llama2, llama3, llama3_for_tool
  • Serie Qwen: qwen2, qwen2_for_tool, qwen2_5, etc.
  • Gemma, Phi, Yi, InternLM2 y otras arquitecturas de modelos.

3. Técnicas de optimización del rendimiento

Optimización de la memoria

  • FlashAttention-2: Admite la última tecnología FlashAttention, mejorando significativamente la velocidad de entrenamiento e inferencia.
  • Puntos de control de gradiente: Optimiza el uso de la memoria mediante una estrategia de cálculo a cambio de memoria.
  • DeepSpeed Zero-3: Admite el entrenamiento distribuido de modelos a gran escala.

Aceleración de la inferencia

  • Integración de vLLM: Admite inferencia y servicio de LLM rápidos y fáciles de usar.
  • Decodificación especulativa: Admite la tecnología de decodificación especulativa para acelerar la inferencia.
  • Inferencia de CPU: Admite la ejecución de modelos LLaMA en la CPU (a través de la cuantificación de 4 bits).

4. Ricas características funcionales

Soporte de plantillas de conversación

  • Plantillas de conversación preestablecidas de Llama-3 y Phi-3.
  • Admite una variedad de plantillas comunes como chatml.
  • Plantillas de conversación personalizables para obtener un mejor rendimiento.

Soporte multimodal

  • Admite entrada multimodal de imagen y texto.
  • Proporciona funcionalidad de chatbot multimodal.
  • Servicio de demostración en línea disponible.

Procesamiento de contexto largo

  • Admite la interpolación de posición (escalado lineal y NTK) para modelos LLaMA.
  • Amplía la capacidad de procesamiento de contexto del modelo.

5. Evaluación y pruebas de referencia

LMFlow Benchmark es un marco de evaluación automática diseñado específicamente para modelos de lenguaje grandes de código abierto, que utiliza la verosimilitud logarítmica negativa (NLL) como métrica para evaluar la capacidad del modelo en las siguientes áreas:

  • Conversación informal
  • Razonamiento de sentido común
  • Seguimiento de instrucciones

Innovación técnica

Algoritmo RAFT

El proyecto propone un nuevo algoritmo de alineación: Reward rAnked FineTuning (RAFT), que es más eficiente que el RLHF tradicional basado en PPO.

Optimizadores personalizados

Admite el entrenamiento de múltiples optimizadores personalizados, incluyendo:

  • RMSprop, LION-32bit, Adam, AdamW
  • AdaFactor, Adan, RAdam y más de 20 optimizadores.
  • Se puede seleccionar la estrategia de optimización más adecuada según la tarea específica.

Casos de aplicación práctica

Avance en el campo médico

Los modelos entrenados con LMFlow se desempeñan de manera excelente en el campo médico, y su modelo de ajuste de tareas supera a ChatGPT en el campo médico, lo que demuestra un gran potencial para aplicaciones en campos verticales.

Serie de modelos Robin

El proyecto ha lanzado múltiples modelos Robin de alto rendimiento:

  • Robin-33B-V2: Obtuvo una excelente puntuación de 64.1 en la clasificación Huggingface LLM.
  • Proporciona puntos de control de múltiples tamaños: 7B, 13B, 33B, 65B, etc.

Instalación y uso

Requisitos del entorno

  • Principalmente probado en Linux OS (Ubuntu 20.04).
  • Admite versiones CUDA 10.3-11.7.
  • Entorno Python 3.9.

Instalación rápida

git clone -b v0.0.9 https://github.com/OptimalScale/LMFlow.git
cd LMFlow
conda create -n lmflow python=3.9 -y
conda activate lmflow
conda install mpi4py
pip install -e .

Instalación de PyPI

pip install lmflow-finetune

Impacto tecnológico

El proyecto LMFlow ha tenido un impacto significativo en la academia y la industria:

  • Artículos relacionados publicados en las principales conferencias académicas.
  • Recibió mucha atención y uso en GitHub.
  • Realizó una importante contribución al ecosistema de modelos de lenguaje grandes de código abierto.

Resumen

LMFlow, como un kit de herramientas integral para modelos de lenguaje grandes, no solo proporciona soluciones completas de entrenamiento e inferencia de modelos, sino que también ha innovado en múltiples aspectos, como la optimización de la memoria, la aceleración del rendimiento y la evaluación de modelos. Reduce la barrera de entrada para el uso de modelos de lenguaje grandes, permitiendo que más investigadores y desarrolladores construyan e implementen convenientemente sus propios modelos de lenguaje, logrando verdaderamente el objetivo de "poner los modelos grandes al servicio de todos".