Prueba de ruGPT-3 en nuevos problemas

Sistemas de recomendación desde cero, chatbots y más



Habiéndonos sumergido en el abismo de los datos textuales, en octubre de este año entrenamos los modelos ruGPT-3, modelos para el idioma ruso basados ​​en la arquitectura de OpenAI. Pero, ¿de qué son capaces estos modelos? En este artículo, recopilaremos los primeros ejemplos de aplicación del modelo y probaremos otros nuevos.



Presentamos los primeros resultados del modelo entrenado más grande, ruGPT-3 Large, desarrollado en colaboración con los equipos SberDevices , Sber.AI y SberCloud . Exploremos contigo los límites de su aplicación.



imagen



Este año en AI Journey hemos preparado un concurso de aplicaciones ruGPT-3 - cualquier solución que utilice un modelo, evaluada en tres escalas - la innovación, el compromiso emocional y la aplicabilidad empresarial pueden presentarse a la pista.



Revelación:
1 millón de rublos para el primer lugar




¿Cómo volver a capacitar al modelo para una nueva tarea?



Los modelos y su código están en el repositorio de sberbank-ai : puede usar la biblioteca de transformadores o Megatron-LM.



En este artículo, proporciono ejemplos usando huggingface / transformers; el código para los casos se proporciona aquí:





Tarjetas de modelo en la biblioteca de transformers: Grande Mediana Pequeña



Cuando ejecuta el script de generación, es más fácil ejecutarlo todo y luego esperar un poco mientras se carga el modelo.



imagen



El guión en la última celda le pedirá que ingrese el comienzo del texto, mi semilla favorita: "Los científicos brasileños han descubierto una especie rara de unicornios enanos que viven en el oeste de Jutlandia". Obtenemos: Solo ruGPT-3 Small cabe en una computadora portátil Colab, por lo que es mejor usar tarjetas con más de 14 Gb de memoria.



ruGPT-3 Small: , . Agence France-Presse. , Pygmaliona (. Pygmaliona pygmalioni), . 30 , — 1 . . , .







Por cierto, durante la competición, ¡damos a los participantes de la pista acceso a las instalaciones de Christofari!

Para los participantes de la pista ruGPT-3, hemos asignado 100 cuentas, en cada cuenta 1 GPU Tesla V100-SXM3 32 Gb gratis durante la competencia.



¿Cómo consigo una cuenta?



1) Regístrese para la pista ruGPT-3 (AI 4 Humanities) ods.ai/tracks/aij2020

2) Escriba una carta corta con el nombre de su equipo y la tarea a AIJ_ruGPT-3@sberbank.ru



imagen



Pocos disparos vs ajuste fino



En el caso de grandes modelos generativos, como arquitecturas similares a GPT, hay varias formas de "manejarlos".



  • : «» — . (GPT-3 ), . ( « → ») .
  • : , « » (. «prompt engineering» — , , .


?



Volver a capacitar a modelos grandes puede resultar muy costoso, por lo que esta forma de "comunicarse" con ellos te permite evitar incluso eso. La esencia de la programación de semillas es seleccionar tales ejemplos preparados y comienzos para la generación, de modo que más adelante el modelo produzca exactamente lo que se necesita.



Al elegir los hiperparámetros "semilla" y del generador (temperatura, top_n, top_k), puede lograr respuestas bastante tolerables debido al entrenamiento preliminar del modelo.



imagen



Un ejemplo de semilla con 1 ejemplo y una descripción del problema.



Probaremos ambos métodos en la práctica (intentaremos resolver problemas populares desde cero y problemas específicos) para resolverlos con capacitación adicional.



Sistemas de recomendación



Hagamos un sistema de recomendaciones sin entrenamiento: enviaremos a ruGPT-3 gran información sobre las preferencias del usuario en forma de texto, y veremos cómo el modelo lo sigue. Podemos generar muchas opciones a la vez para obtener más recomendaciones.



Recomendaciones de películas: ¡ Nada mal! Al menos las películas parecen generarse según la semilla. Como no soy un conocedor del cine soviético, ni siquiera conocía la película "Tres más dos", pero lo es. Para la generación, utilizamos los siguientes trucos: suministramos especialmente el texto con comillas abiertas para forzar al modelo a generar nombres propios, y también cortamos todo lo innecesario después de la primera oración. Recomendaciones musicales:



: — “”, “”, “

ruGPT-3 Large: — “”, “”, “ ”, “ ”, “ ”.

ruGPT-3 Large: — “”, “”, “ ”, “”, “” (, , , ).

ruGPT-3 Large: — “”, “”, “” .”



: : “ ”, “

ruGPT-3 Large: : “ ”, “ ” “ ”.

ruGPT-3 Large: : “ ”, “ ”.

ruGPT-3 Large: : “ ”, “ ”, “ ” .











: “ , “ ”, “ #( , )

ruGPT-3 Large: , “ ”, “” “”.

ruGPT-3 Large: , “ ”, “” “ ”.

ruGPT-3 Large: , “ ”, “”, “ ”, “ ”, “” “”.



Los resultados son diferentes todo el tiempo: potencialmente puede generar N variantes, extraer todos los nombres de los grupos y recopilar el Contador de los más populares: listo, un sistema de recomendación desde cero.



Generando reseñas



Tomemos una tarea más difícil: hagamos que el modelo imite a una persona en discusiones o tiendas: como puede ver, para temas difundidos en Internet, el modelo puede generar textos coherentes sin capacitación. Pero, ¿dónde todavía no hay forma sin formación adicional? Hay 3 casos de este tipo:



: “ .

- ”

ruGPT-3 Large: “ .

- . , .”



: “ .



ruGPT-3 Large: “ .

.

, .

, , . , , .”



: .

"1+1"

ruGPT-3 Large: .

"1+1" — , . . . . " ", .











  1. formato de datos complejo - si, durante la generación sin entrenamiento, pierde calidad debido a la generación en el formato incorrecto - problema NER, generación de código, cálculos simbólicos, etc .;
  2. , — QA , , , ;
  3. , , , — , .


StackOverflow



Elevemos el nivel de complejidad: descargue el [desbordamiento de pila] ruso (https://ru.stackoverflow.com/) e intente crear un sistema de preguntas y respuestas. ¿Seremos capaces de aprender de inmediato el estilo de las respuestas, el conocimiento y varios lenguajes de programación? No es fácil obtener un buen resultado en un problema de taoki de inmediato, pero podemos divertirnos: durante 5 épocas, el modelo ha aprendido a reproducir el estilo, estando muy confundido en el contenido. Pero aprendí bien los enlaces a la documentación, un resultado bastante bueno para 5 eras de aprendizaje.



Formato de formación: enviamos los textos de preguntas y mejores respuestas en el formato Q: ”blabla” A: ”blabla”. (en realidad no existe tal biblioteca, el modelo generó un enlace a la documentación)



Q: python?

A: : push.log("Shalom").

- , .

set.log()**)

rGet = puts.random(extents) log.findIndex(puts.current) void join($window, command='unsetMainServer onManager') }

,



Q: python?

A: import pycode as pyc;

// ( href=https://docs.python.org/3/library/pycode.html )







Para tales tareas, puede ingresar argumentos adicionales, por ejemplo, el nombre de la sección / tema / lenguaje de programación sobre el que desea responder, y entrenar el modelo con datos de la forma {"parámetro": "valor", "pregunta": "texto_pregunta", "respuesta": "Answer_text"}.



En términos tanto del código como del texto, tenemos un archivo de inmediato, ¿tal vez alguien lo hará mejor dentro de la pista? Ya hay implementaciones bastante exitosas en el modelo de idioma inglés con código: escribir código html de elementos de página web, generar plantillas Figma.



¡Probar otros idiomas! Twitter y más



El idioma principal de enseñanza del modelo es el ruso, pero ¿es posible aplicar el modelo en tareas multilingües? Algunos otros idiomas siempre se incluyen en la muestra de capacitación de la web, por lo que hay esperanza. El enfoque directo con semillas muestra que el modelo sabe un poco sobre el modelo inglés: Bueno, casi: A veces no funciona en absoluto: ¿Por qué no practicar con datos puramente en inglés? Tomé el conjunto de datos de clasificación de texto de Twitter de la competencia de Kaggle. Después de 5 épocas en 5 mil primeros comentarios (20 minutos en Colab ) obtenemos una generación bastante tolerable de comentarios muy tóxicos en inglés:

ruGPT-3 Large:

—> cat

—> dog

—> pear

—> coder





—> cat

—> dog

—> pear

—> Python





—> cat

—> dog

—> pear

—> bunch #

—> dog

—> cat

—> dog



imagen











Context >>> Is it

ruGPT-3 Small: Is it's the case that #Microsoft is using #SAP to manage #Microsoft’s business?



Context >>> It is

ruGPT-3 Small: It is the only one that I've been trying to do. Siri is on the verge of death, and I'm not aware of why she has to be on the verge.



Context >>> Why

ruGPT-3 Small: Why do I go here? I'm wondering if I can use the #Microsoft Windows 8 Pro for the #WindowsPhone phone? Thanks!



Sistemas de diálogo



Ya, sin entrenamiento previo, aplicar el modelo a los sistemas de diálogo funciona bastante bien: el modelo puede realizar la función chit-chat (hablando de nada), charlando libremente sobre varios temas. Con capacitación adicional sobre escenarios y dominios específicos, puede implementar aplicaciones comerciales.

El siguiente ejemplo es un ejemplo de un diálogo sin formación, sobre un tema de enfoque limitado: el apoyo de un proveedor de Internet.

Siembra: primeras 2 líneas - generación posterior. Por supuesto, sin la formación previa, el modelo no tiene una idea clara de los scripts y los scripts de los especialistas de soporte, sin embargo, incluso un inicio tan frío ya muestra la forma estándar de "averiguar lo que pasó - pasar el rato - redirigir la llamada". Puedes recordar los clásicos:

User1: , ! ?

User2: .

User1: ?

User2: 500

User1: ?

User2: . .. .

User1: ?

User2: . , - ...

User1: , , , , ?

User2:

User1: , . , .

User2: , . .

User1: . , , .

User2: , , ?

User1: ?

User2: . .

User1: ?

User2:

User1: . .

User1: , . - .

User2: , .

User1:

User2:





User1: «», 656, , .

User2: , 766—1669, : , , , , , , ?

User1: 1 . , , .

User2: , , , - ?

User1: , 1 . , - , , , . .

User2: , , , , - .

User1: .

User2: , ?

User1: , , .

User2: , , .



En general, "hay que tener paciencia". El modelo incluso recordó que el nombre de User1 es Dmitry, y User2 en consecuencia se despidió de él.



En lugar de una conclusión



Para continuar desarrollando la dirección de los modelos generativos y mejorar las arquitecturas en los problemas de PNL, siempre es necesario comprender los límites de aplicabilidad de una tecnología en particular y su relevancia.



Ahora, con cada lanzamiento de arquitecturas similares: Reformer, Longformer, BigBird, etc. - Observamos grandes modelos previamente entrenados de una manera ligeramente nueva, lo que les plantea nuevos desafíos.



Además de los casos antes mencionados, ruGPT-3 definitivamente puede aplicarse y ser beneficioso en prácticas como:



  • aumento de datos de texto para tareas de aprendizaje automático
  • modelos de diálogo para la automatización
  • tareas de suma generativa
  • reescritura, generación de noticias, notas deportivas basadas en información estructurada.


Con suerte, las demostraciones y los modelos beneficiarán a la comunidad, ¡y serán divertidos!



Y, por supuesto, ¡estamos esperando sus decisiones sobre la pista ruGPT-3 hasta finales del 22 de noviembre!



All Articles