Acerca de los modelos generativos

Modelos de inteligencia artificial (IA) generativas, como la familia Gemini de datos pueden crear contenido a partir de distintos tipos de entradas de datos, como como texto, imágenes y audio. En su nivel más básico, estos modelos funcionan como sofisticadas aplicaciones de autocompletar. Texto de entrada proporcionado ("Puedes guiar a un caballo al agua"), un modelo generativo puede predecir que el texto de salida que se seguir estadísticamente usando ("pero no puedes hacer que beba"), según de los patrones aprendidos de sus datos de entrenamiento. Puedes usar esta propiedad básica de generativos para varias aplicaciones:

  • Generar escrituras creativas, como poesía, cuentos, metáforas y entradas de blog
  • Convierte datos estructurados en texto de formato libre
  • Extraer y resumir la información del texto de formato libre
  • Generar código
  • Traduce idiomas

El uso de modelos generativos para compilar estas funciones no requiere ninguna máquina en el aprendizaje automático (AA). No necesitas recopilar un conjunto de datos grande ni entrenar un un modelo de responsabilidad compartida. Todo lo que se necesita para comenzar tu primer prototipo es describir lo que quieres que haga el modelo en unas pocas oraciones.

Los modelos generativos que solo manejan entradas y salidas de texto también se conocen como modelos grandes de lenguaje (LLM). La familia de modelos Gemini puede procesar más que los datos de texto y, si bien pueden realizar las funciones de un LLM, conocidos como modelos generativos.

Aplicaciones de ejemplo

En los siguientes ejemplos, se muestran entradas y salidas de texto típicas de un generativo.

Genera un poema

Entrada del usuario: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

Salida del modelo:

Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.

Genera una lista

Entrada del usuario: Generate a bulleted list of items I need to pack for a three-day camping trip.

Salida del modelo:

*   Tent
*   Sleeping bag
*   Sleeping pad
*   Camp stove
*   Pots and pans
*   Utensils
*   Food
*   Water
*   First-aid kit
*   Sunscreen
*   Insect repellent
*   ...

Puedes hacer que los modelos generativos produzcan todo tipo de comportamientos útiles, como esto, con solo crear el texto de entrada correcto, también llamado instrucción. El arte y la ciencia de descubrir la redacción correcta para que los modelos generativos lo hagan lo que quieres se denomina diseño de instrucciones (también llamado “ingeniería de instrucciones” o simplemente “instrucción”).

Introducción al diseño de instrucciones

En la sección anterior, se mostraron algunos ejemplos de instrucciones que contienen un instrucciones, como "Escribe un poema". Este tipo de instrucción puede ser útil para ciertos tipos de tareas. Sin embargo, para otras aplicaciones, otro mensaje llamada instrucción con ejemplos limitados podría funcionar mejor. Las instrucciones con ejemplos limitados toman de que los modelos de lenguaje extensos son muy buenos para reconocer y replicar patrones en datos de texto. La idea es enviar el generativo un patrón de texto que aprende a completar. Por ejemplo, supongamos que deseas crear una aplicación que tome como entrada el nombre de un país y muestre su capital. Aquí hay una indicación de texto diseñada para hacer precisamente eso:

Italy : Rome
France : Paris
Germany :

En esta instrucción, estableces un patrón: [country] : [capital]. Si envías esta instrucción a un modelo de lenguaje extenso, el patrón se completará automáticamente y devolverá algo como esto:

     Berlin
Turkey : Ankara
Greece : Athens

Esta respuesta del modelo puede parecer un poco extraña. El modelo devolvió no solo el la capital de Alemania (el último país de la consigna escrita a mano), pero también un lista completa de pares de países y capitales adicionales Esto se debe a que generativo es “seguir el patrón”. Si lo único que intentas hacer es crear una función que indique la capital de un país de entrada ("Alemania : Berlín"), probablemente no te interese ninguno de los textos que el modelo genera después de "Berlin". De hecho, como diseñadores de aplicaciones, querrás para truncar esos ejemplos irrelevantes. Además, probablemente querrás parametrizar la entrada para que Alemania no sea una cadena fija, sino una variable que proporciona el usuario final:

Italy : Rome
France : Paris
<user input here> :

Acabas de escribir una instrucción con ejemplos limitados para generar capitales de países.

Puedes realizar una gran cantidad de tareas con esta instrucción con ejemplos limitados. plantilla. Aquí hay una instrucción con un formato un poco diferente convierte Python en JavaScript:

Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:

O toma este "diccionario inverso" mensaje. Dada una definición, devuelve el valor palabra que coincida con esa definición:

Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:

Habrás notado que el patrón exacto de estas instrucciones con ejemplos limitados varía un poco. Además de contener ejemplos, proporcionar instrucciones en tu mensajes es una estrategia adicional a tener en cuenta al escribir tus propias instrucciones, ya que es útil comunicar tu intención al modelo.

Proceso de instrucciones en comparación con el desarrollo de software tradicional

A diferencia del software tradicional, que está diseñado según una especificación escrita cuidadosamente, el el comportamiento de los modelos generativos es mayormente opaco incluso para los entrenadores de modelos. Como resultado, a menudo no puedes predecir con anticipación qué tipos de estructuras de instrucciones funcionan mejor para un modelo en particular. Además, el comportamiento de un modelo del modelo se determina en gran medida por los datos de entrenamiento y, como los modelos Ajustado continuamente en nuevos conjuntos de datos, a veces, el modelo cambia lo suficiente como para cambia sin darse cuenta qué estructuras de instrucciones funcionan mejor. ¿Qué significa esto para ti? Experimento Prueba diferentes formatos de instrucciones.

Parámetros del modelo

Cada instrucción que envías al modelo incluye valores de parámetros que controlan cómo el modelo genera una respuesta. El modelo puede generar resultados diferentes para los valores de parámetros diferentes. Los parámetros más comunes son los siguientes:

  1. Cantidad máxima de tokens de salida: especifica la cantidad máxima de tokens que se pueden generados en la respuesta. Un token tiene aproximadamente cuatro caracteres. 100 los tokens corresponden a entre 60 y 80 palabras.

  2. Temperatura: La temperatura controla el grado de aleatorización del token. selección. La temperatura se usa para el muestreo durante la generación de la respuesta. que ocurre cuando se aplican topP y topK. Las temperaturas más bajas son buenas para instrucciones que requieran una respuesta más determinista o menos abierta, mientras que las temperaturas más altas pueden dar lugar a resultados más diversos o creativos. R la temperatura de 0 es determinista, lo que significa que la probabilidad más siempre se selecciona la respuesta correcta.

  3. topK: El parámetro topK cambia la forma en que el modelo selecciona tokens para salida. Un topK de 1 significa que el token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamada decodificación codiciosa), mientras que un topK de 3 significa que el siguiente token se selecciona de entre 3. más probables con la temperatura. Para cada paso de selección de tokens, Se muestrearon los tokens de topK con las probabilidades más altas. Luego, los tokens filtrarlos aún más en función de topP con el token final seleccionado con y el muestreo de temperatura.

  4. topP: El parámetro topP cambia la forma en que el modelo selecciona tokens para salida. Los tokens se seleccionan del más al menos probable hasta la suma de sus probabilidades equivalen al valor topP. Por ejemplo, si los tokens A, B, y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor topP es 0.5, entonces el modelo seleccionará A o B como el siguiente token usando los y excluir C como candidato. El valor predeterminado de topP es 0.95.

  5. stop_sequences: Establece una secuencia de detención en para indicarle al modelo que deje de generar contenido. Una secuencia de detención puede ser secuencia de caracteres. Evita usar una secuencia de caracteres que en el contenido generado.

Tipos de instrucciones

Según el nivel de información contextual que contengan, las instrucciones se clasifican en tres tipos.

Instrucciones sin ejemplos

Estas instrucciones no contienen ejemplos para que el modelo los replique. Sin ejemplos Las instrucciones básicamente muestran la capacidad del modelo para completar la instrucción sin que con ejemplos o información adicionales. Significa que el modelo debe basarse en su conocimiento preexistente para generar una respuesta creíble.

Algunos patrones de instrucciones sin ejemplos de uso general son los siguientes:

  • Contenido instructivo
<Overall instruction>
<Content to operate on>

Por ejemplo:

Summarize the following into two sentences at the third-grade level:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.

Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.

Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!

Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.

Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
  • Contenido instructivo
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

Por ejemplo:

Here is some text I'd like you to summarize:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.

Summarize it in two sentences at the third-grade reading level.
  • Continuación. A veces, puedes hacer que el modelo continúe usando texto sin instrucciones. Por ejemplo, aquí hay una instrucción sin ejemplos en la que el modelo para continuar con la entrada proporcionada:
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

Usa instrucciones sin ejemplos para generar formatos de texto creativos, como poemas, códigos, guiones, piezas musicales, correos electrónicos o cartas.

Instrucciones con un solo ejemplo

Estas instrucciones le proporcionan al modelo un único ejemplo para replicar y continuar. el patrón. Esto permite generar respuestas predecibles a partir del un modelo de responsabilidad compartida.

Por ejemplo, puedes generar maridajes de comidas como los siguientes:

Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:

Instrucciones con ejemplos limitados

Estas instrucciones le proporcionan al modelo varios ejemplos para replicar. Usa instrucciones con ejemplos limitados para completar tareas complicadas, como sintetizar datos basados en en un patrón.

Un ejemplo de instrucción puede ser:

Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}

Funcionamiento interno de los modelos generativos

Esta sección tiene como objetivo responder la pregunta: ¿Existe aleatorización en modelos generativos de los modelos de AA o son deterministas?

La respuesta breve es sí a ambas. Cuando le indicas a un modelo generativo, una respuesta ante incidentes se genera en dos etapas. En la primera etapa, el modelo generativo procesa la instrucción de entrada y genera una distribución de probabilidad a lo largo los tokens (palabras) que probablemente vendrán después. Por ejemplo, si le indicas con el texto de entrada “El perro saltó sobre ...”, el modelo generativo produce un array de siguientes palabras probables:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

Este proceso es determinista; un modelo generativo producirá este mismo distribución cada vez que ingresa el mismo texto de instrucción.

En la segunda etapa, el modelo generativo convierte estas distribuciones en las respuestas de texto reales a través de una de las varias estrategias de decodificación. Un sencillo la estrategia de decodificación podría seleccionar el token más probable en cada paso. Esta siempre sería determinista. Sin embargo, puedes optar por generar una respuesta mediante un muestreo aleatorio de la distribución que devuelve el un modelo de responsabilidad compartida. Este proceso sería estocástico (aleatorio). Controlar el grado de la aleatoriedad permitida en este proceso de decodificación al establecer la temperatura. R una temperatura de 0 significa que solo se seleccionan los tokens más probables y que no hay la aleatoriedad. Por el contrario, una temperatura alta inyecta un alto grado de aleatorización en los tokens seleccionados por el modelo, lo que lleva a resultados las respuestas del modelo.

Lecturas adicionales

  • Ahora que tienes una comprensión más profunda de las instrucciones y los modelos generativos, intenta escribir tus propias instrucciones usando Google AI Studio
  • Consulta los Lineamientos de instrucciones para obtener más información más información sobre las prácticas recomendadas para crear instrucciones.