CodeFuse ha sido de código abierto durante medio año

hjfgjkf.png

2023 puede considerarse el primer año de los modelos grandes. El año pasado, el campo de los modelos grandes se desarrolló rápidamente, surgieron nuevos modelos grandes uno tras otro y nuevos productos basados ​​​​en modelos grandes también atrajeron la atención de todos. , este campo ¿Cuántas sorpresas traerá a todos?

 

Ant también lanzó su propio modelo de código Bailing a gran escala, CodeFuse, que después de casi medio año de pulido interno, se abrió oficialmente en septiembre. Echemos un vistazo al progreso que ha logrado CodeFuse en código abierto en los últimos seis meses.

 

1.Facilitar la investigación y el desarrollo

 

En el proceso de implementar modelos grandes en múltiples escenas, la generación automática de código se ha convertido en una parte necesaria de la implementación técnica. Bajo esta tendencia, Ant Group lanzó el Asistente de I+D Ant Bailing basado en el modelo grande de Bailing para ayudar a los desarrolladores a generar automáticamente códigos, comentarios, casos de prueba, etc., para mejorar la eficiencia de la investigación y el desarrollo.


CodeFuse se origina a partir de los propios escenarios de desarrollo y acumulación de base de código de Ant. Se basa en datos de código masivos de alta calidad y listas de palabras características en el campo de la codificación, así como en la tecnología de ajuste fino multitarea MFT. Se basa en la codificación diaria. , pruebas, operación y mantenimiento de más de 10,000 empleados internos de I + D de Ant. En la escena, se ha verificado e iterado repetidamente. Actualmente, CodeFuse ha evolucionado desde la eficiencia de I+D y DevOps hasta la exploración de agentes de escenarios inteligentes de TI empresarial. Al mismo tiempo, basándose en CodeFuse, Ant Group ha creado una cadena de herramientas completa para modelos de código grandes, que incluyen: servicios de modelos, protección de riesgos, calidad de datos e ingeniería de plataformas.


A mediados de 2023, CodeFuse y sus cadenas de herramientas necesarias serán de código abierto y estarán abiertas a la comunidad técnica para ayudar a los desarrolladores de la comunidad a realizar investigaciones, evaluaciones, desarrollo secundario y capacitación al respecto.


Actualmente, CodeFuse está implementado en varios departamentos de Ant y admite más de 40 lenguajes de programación y más de 10 plataformas IDE convencionales. La tasa de adopción general es del 30% y el código pasado a través de IA representa el 20%. Por ejemplo, CodeFuse está completamente integrado con la línea de productos comerciales inteligentes de aplicaciones nativas en la nube SOFAStack de Ant Digital Technology, que cubre diseño, investigación y desarrollo, pruebas, operación y mantenimiento y otros campos, formando una solución de producto Copilot de extremo a extremo desde el modelado de dominio hasta operación y mantenimiento inteligentes, mejorando la eficiencia de entrega y la calidad de las aplicaciones de nivel empresarial aceleran la digitalización de la industria para reducir costos y aumentar la eficiencia.

 

2. Contenido rico en código abierto

La misión de CodeFuse es desarrollar modelos de lenguaje de código a gran escala (Code LLM) diseñados específicamente para respaldar todo el ciclo de vida del desarrollo de software. El contenido actual cubre seis direcciones principales: código, operación y mantenimiento, análisis, pruebas, razonamiento y evaluación. A partir del 31 de diciembre de 2023, CodeFuse tiene 11 repositorios de código de código abierto, 4 conjuntos de datos y 11 archivos de parámetros de modelos grandes. El número total de seguidores/me gusta supera los 3000, el número de descargas supera las 24 000 y se ha aceptado 1 artículo. 2 preimpresiones en Arxiv.

 

1. Código - Serie MFTCoder:

El primer marco de ajuste fino de capacidad de código de modelo grande, algoritmo de entrenamiento múltiple, multitarea, multitarea, multitarea y de alta eficiencia del mundo ; los detalles técnicos del ajuste fino de multitarea se han anunciado en Arxiv. Puede consultar el artículo de MFTCoder y los artículos publicados anteriormente.

Los modelos de lenguaje previamente entrenados pueden aprender patrones y estructuras de lenguaje comunes en grandes cantidades de datos de texto. Al aplicar técnicas de aprendizaje no supervisadas, el modelo puede predecir la siguiente palabra de una oración basándose en la secuencia de palabras anteriores. Sin embargo, la formación previa por sí sola no puede lograr un alto rendimiento en tareas específicas de procesamiento del lenguaje natural. Por lo tanto, los modelos previamente entrenados deben ajustarse en pequeños conjuntos de datos específicos de tareas para aprender características específicas de las tareas y mejorar el rendimiento. El proceso de ajuste utiliza técnicas de aprendizaje supervisado para adaptar un modelo previamente entrenado a una tarea específica. Al dividir el proceso de capacitación en dos etapas: capacitación previa y ajuste, el modelo de procesamiento del lenguaje natural puede aprovechar al máximo las ventajas del aprendizaje no supervisado y el aprendizaje supervisado.

Sin embargo, cabe señalar que cuando la cantidad de parámetros del modelo es enorme, se requerirán muchos recursos para ajustar e implementar cada tarea posterior de forma independiente. Sin embargo, ¿hay alguna manera de que un modelo admita todas las tareas posteriores simultáneamente? La respuesta es sí, el ajuste multitarea (MFT) proporciona una forma eficaz de resolver este problema.

El ajuste fino de la multitarea no solo ahorra recursos, sino que también aporta otros beneficios. Mediante entrenamiento conjunto, el modelo puede aprender las características y patrones entre múltiples tareas. En comparación con el ajuste fino de cada tarea individualmente, el ajuste fino de múltiples tareas puede completar mejor varias tareas. Al mismo tiempo, debido a que las características y reglas aprendidas están relacionadas entre sí, también se mejorará la capacidad de generalización del modelo. Esto significa que el modelo puede funcionar bien incluso cuando se enfrenta a tareas invisibles porque ha aprendido muchas características y patrones de tareas relacionadas.

 

2. Operación y mantenimiento-Serie DevOps:

El primer modelo chino de desarrollo y operación de código abierto de la industria puede ayudar a los ingenieros a responder las preguntas encontradas en el ciclo de vida de DevOps y proporcionar un asistente inteligente de IA para construir todo el ciclo de vida del desarrollo de software a través de la generación de mejoras de búsqueda, el aprendizaje de herramientas y el entorno sandbox  ; para una introducción detallada , consulte los artículos anteriores DevOps-Eval , DevOps-Model , DevOps-Chatbot 

Esperamos que los usuarios se transformen gradualmente del modelo tradicional de desarrollo y operación de consulta de datos en todas partes y operaciones de plataforma independientes y descentralizadas al modelo de desarrollo y operación inteligente de preguntas y respuestas de modelos grandes, y cambien los hábitos de desarrollo y operación de las personas.

Principales tecnologías diferenciadoras y puntos funcionales:

  • Núcleo de despacho inteligente: se ha creado un núcleo de despacho con enlaces completos del sistema para admitir la configuración multimodo con un solo clic y simplificar el proceso de operación.
  • Análisis de la biblioteca de código completo: logre una comprensión profunda del código a nivel de almacén, así como la escritura y generación de código a nivel de archivo del proyecto, mejorando la eficiencia del desarrollo.
  • Mejora del análisis de documentos: integra la base de conocimientos del documento y el gráfico de conocimiento para brindar un soporte más profundo para el análisis de documentos mediante la recuperación y la mejora del razonamiento.
  • Conocimiento exclusivo de categoría vertical: una base de conocimiento exclusiva personalizada para el campo DevOps, que admite la construcción de autoservicio con un solo clic de una base de conocimiento de categoría vertical, que es conveniente y práctica.
  • Compatibilidad de modelos verticales: los modelos pequeños para el campo DevOps garantizan la compatibilidad con plataformas relacionadas con DevOps y promueven la integración del ecosistema tecnológico.

Confiando en los modelos LLM e Incrustación de código abierto, se puede realizar una implementación privada fuera de línea basada en el modelo de código abierto. Además, también se admiten llamadas API OpenAI.

 

3. Análisis-CodeFuse-Query :

Motor de análisis de código basado en consultas, adecuado para escenarios de análisis de base de código complejos y a gran escala. Consulte el documento  https://arxiv.org/abs/2401.01571 ; para una introducción detallada, consulte los artículos anteriores

Las características y ventajas de CodeFuse-Query se pueden resumir de la siguiente manera:

  • Altamente escalable: CodeQuery puede manejar bases de código a gran escala y adaptarse a diferentes necesidades de análisis. Este alto grado de escalabilidad permite que CodeQuery desempeñe un papel importante en grandes organizaciones.
  • Centrado en datos: CodeQuery trata el código fuente y los resultados del análisis como datos. Este enfoque centrado en los datos le brinda una ventaja única cuando se trata de problemas de análisis de código en entornos de big data.
  • Altamente integrado: CodeQuery se integra perfectamente en una variedad de sistemas en grandes organizaciones, incluidos almacenes de datos, instalaciones de computación de datos, almacenamiento de objetos y recursos informáticos flexibles. Este alto nivel de integración hace que sea más fácil y eficiente utilizar CodeQuery en grandes organizaciones.
  • Admite diversos requisitos: CodeQuery no solo puede manejar bases de código a gran escala, sino también varios requisitos de análisis complejos, incluidos requisitos de análisis de calidad del servicio, requisitos de análisis de lenguajes de programación cruzada, requisitos de algoritmos y requisitos de rendimiento.
     

4. Prueba-Prueba-Agente :

"Agentes inteligentes" en el campo de las pruebas, crean soluciones innovadoras en el campo de las pruebas y crean servicios de asistente de pruebas en línea las 24 horas; para una introducción detallada, consulte los artículos anteriores

Ha sonado la bocina de los modelos grandes, y los modelos grandes en el campo de pruebas también están en constante evolución. A través del rico conocimiento mundial acumulado en el proceso previo a la capacitación, han demostrado extraordinarias capacidades de razonamiento y toma de decisiones en entornos interactivos complejos.

Aunque el modelo básico ha logrado resultados notables en el campo de las pruebas, todavía existen algunas limitaciones y las tareas de prueba de dominios específicos generalmente requieren herramientas especializadas o conocimiento del dominio para resolverlas. Por ejemplo, el modelo básico puede completar tareas como la generación de código de prueba único y la generación de texto de prueba a través del conocimiento previo al entrenamiento, pero cuando se trata de generación de casos de uso integrados complejos, generación de casos de uso específicos de dominio e interacción de canalización de procesos de prueba, es más profesional. Se necesitan herramientas y campos Conocimiento.

Por lo tanto, la integración de herramientas especializadas con modelos básicos puede aprovechar al máximo sus respectivas ventajas. Las herramientas especializadas pueden resolver el problema de la puntualidad insuficiente del modelo, mejorar el conocimiento profesional, mejorar la interpretabilidad y la solidez. El modelo básico tiene capacidades de planificación y razonamiento similares a las humanas, puede comprender datos y escenarios complejos e interactuar con el mundo real.

 

5. Razonamiento - ModelCache :

El sistema de almacenamiento en caché semántico de modelos grandes reduce el tiempo de respuesta de solicitudes similares y mejora la experiencia del usuario al almacenar en caché los resultados del modelo generado; para una introducción detallada, consulte los artículos anteriores .

Actualmente, los servicios de modelos grandes enfrentan los siguientes tres desafíos:

  • Alto costo: los parámetros de modelos grandes ascienden a cientos de miles de millones y una sola instancia requiere varias tarjetas A10, lo que hace que la implementación a gran escala sea costosa. Por lo tanto, los servicios de modelos grandes actuales se facturan básicamente de acuerdo con la cantidad de tokens procesados, lo que genera altos costos de uso para el usuario.
  • Lento: la velocidad de inferencia para modelos grandes también es una cuestión crítica. En muchas aplicaciones en tiempo real, como sistemas de diálogo y asistentes comerciales, los requisitos de tiempo de respuesta son muy altos, generalmente del nivel de milisegundos. Sin embargo, la velocidad de inferencia de los modelos grandes suele ser lenta, en el segundo nivel, lo que da como resultado la imposibilidad de devolver resultados en tiempo real y una experiencia de usuario degradada.
  • La estabilidad no está garantizada: debido al alto costo de la implementación de una sola instancia, cuando los servicios de modelos grandes actuales reciben grandes solicitudes de tráfico, se utiliza la limitación actual para evitar la falta de disponibilidad del servicio.

En respuesta a los desafíos anteriores, la introducción del almacenamiento en caché de modelos grandes puede resolver el problema actual: al introducir el mecanismo de caché, los resultados calculados se almacenan en caché. Cuando se reciben solicitudes similares, los resultados se pueden obtener directamente del caché, evitando cálculos repetidos. , ahorra recursos informáticos y mejora significativamente el tiempo de respuesta. , para mejorar la experiencia del usuario; al mismo tiempo, el almacenamiento en caché puede desempeñar un papel de desvío, reduciendo la cantidad de solicitudes transmitidas de forma transparente al backend, reduciendo la presión del backend y mejorando la estabilidad del servicio. Por lo tanto, Cache, como una importante solución de implementación de servicios de modelos grandes, puede ayudar a las empresas y las instituciones de investigación a aplicar mejor modelos de lenguaje grandes y mejorar el rendimiento y la eficiencia del modelo en escenarios con recursos limitados y altos requisitos en tiempo real. En el futuro, a medida que los modelos grandes se utilicen ampliamente en diversos campos, se seguirá destacando la importancia del caché.

 

6. Evaluación-CodeFuse-Evaluación :

Un punto de referencia de evaluación de tareas múltiples en el campo de la programación desarrollado sobre la base de HumanEval-x y MBPP, que se puede utilizar para evaluar el rendimiento de modelos grandes en la finalización de código, generación de código en lenguaje natural, generación de casos de prueba y traducción de código entre idiomas. , Código de generación de instrucciones en chino, etc. Rendimiento de tareas; para una introducción detallada, consulte los artículos anteriores .

Actualmente, la evaluación de modelos de lenguaje grandes se divide en evaluación objetiva y evaluación subjetiva según si los resultados generados se pueden medir cuantitativamente, como cálculos matemáticos y generación de artículos. Evaluación objetiva: evalúe el contenido generado en varias dimensiones basándose en el punto de referencia de evaluación más influyente en la industria; evaluación subjetiva: organice múltiples expertos con conocimientos profesionales para evaluar las dimensiones relevantes.

Según el método de ejecución de la evaluación, se puede dividir en tres categorías: evaluación automatizada, evaluación manual y evaluación del modelo.

Una vez completado el entrenamiento del modelo, la puntuación se ejecuta en función del punto de referencia de evaluación. Este proceso se puede diseñar completamente y, por lo tanto, se convierte en una evaluación automatizada. La evaluación manual, especialmente el conocimiento del dominio, requiere que la realicen expertos en diversos campos. Este método de evaluación es más costoso pero los resultados de la evaluación son más convincentes. El modelo de evaluación del modelo (como PandaLM) aprende la preferencia humana general por diferentes textos generados entrenando un modelo grande y realiza una evaluación relativa basada en la preferencia humana aprendida. Este método de evaluación es más estable y eficiente que el manual.

 

3. Maravillosas actividades comunitarias

Sabemos que el código abierto no se trata sólo de abrir código, sino también de compartir y comunicar en la comunidad. Hay mucha información útil sobre contenido de código abierto y las actividades de la comunidad definitivamente no se quedarán atrás. ¡Echemos un vistazo a lo que tienen! !

En agosto, celebramos una sesión especial para compartir "Generación de pruebas basada en AIGC" en la Cumbre Digital de Investigación y Desarrollo de Software AI+;

En septiembre, CodeFuse se anunció oficialmente como código abierto en la Conferencia del Bund;

En octubre, en MLSummit 2023, se compartió la experiencia de I+D de CodeFuse con el mundo exterior;

A principios de noviembre, se pronunció un discurso especial sobre CodeFuse en la Conferencia de Yunqi;

En noviembre, se celebró conjuntamente con Shizhi AI y otros el foro "Desarrollo de aplicaciones y tecnología de modelos grandes de código";

A principios de diciembre, en la Conferencia de Software CCF China, tuvimos experiencias e interacciones in situ con los participantes;

A finales de diciembre, se llevó a cabo en QCon, la conferencia mundial de desarrolladores de software, el intercambio de experiencias "Exploración de la I+D de próxima generación basada en CodeFuse".

 

4. Obtener el reconocimiento de la industria

Este año, CodeFuse también recibió múltiples premios para agradecer a la industria por su reconocimiento:

  • Ganó el Equipo Destacado de Tecnología de Código Abierto de Open Source China 2023

  • Seleccionado como TOP10 de casos pioneros de modelos grandes en Geek Park 2023

 

5. Nuevas expectativas en 2024


Desde 2023, los modelos grandes se han implementado cada vez más en el campo del código. Después de un año de práctica, tenemos una comprensión más profunda de las tecnologías relacionadas. También vi muchas direcciones y prácticas de implementación interesantes. En el nuevo año 2024, seguiremos profundizando en el código abierto:

  • Se lanzarán más funciones innovadoras, por ejemplo, en enero se lanzará MFTCoder v0.2 que admite MoE; en febrero se lanzará un marco y modelo de capacitación que admite el diseño de front-end para codificar;
  • Para más actividades fuera de línea, organizaremos múltiples reuniones fuera de línea de CodeFuse para que participen colegas interesados; también participaremos activamente en conferencias/foros de la industria nacionales e internacionales para compartir más experiencias prácticas de CodeFuse;
  • Más participación e interacción de la comunidad, investigación comunitaria, para que todos puedan participar en el proyecto; lo que incluye, entre otros, iniciar a la comunidad para detectar errores juntos, contribuir juntos con nuevas funciones, promover la estandarización de sistemas relacionados e incluso organizar competencias relacionadas, etc. .

 

Invitamos mucho a todos a comunicarse y explorar con nosotros, y a trabajar juntos para definir la próxima generación de soluciones de I+D de ciclo de vida completo basadas en modelos grandes. Todos son bienvenidos a participar en nuestra comunidad, discutir y comunicarse juntos. 2024, ¡avancemos juntos hacia el futuro!

Sitio web oficial de CodeFuse: https://codefuse.alipay.com

MySQL 5.7, Moqu, Li Tiaotiao... Haciendo un balance de los proyectos y sitios web (de código abierto) que serán "suspendidos" en 2023. Kingsoft WPS falló . El experimento Rust de Linux fue exitoso. ¿Podrá Firefox aprovechar la oportunidad... 10 predicciones sobre el código abierto La escuela secundaria compró un "dispositivo de catarsis interactivo inteligente", que en realidad es un caparazón para la Nintendo Wii. "Ruiping", el padre de Redis, programación LLM: omnisciente y omnipotente&& Estúpido La era del "código post-abierto" ha Llegó: la licencia ha caducado y no puede servir al público en general. Se lanza Vim 9.1, dedicado a la "Batalla de Año Nuevo" de Bram Moolenaar 2024 en el círculo frontal: React cava agujeros pero no los llena, ¿debe confiar en la documentación para ¿llénalos? China Unicom Broadband limitó repentinamente la velocidad de carga y un gran número de usuarios se quejaron. Niklaus Wirth, el padre de Pascal, falleció.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/6942768/blog/10678192
Recomendado
Clasificación