0 / 0
Volver a la versión inglesa de la documentación
Impulsar el foundation model granite-7b-lab de IBM
Última actualización: 28 nov 2024
Impulsar el foundation model granite-7b-lab de IBM

Experimente con la inferencia del foundation model IBM granite-7b-lab en watsonx.ai para conocer sus capacidades y encontrar áreas en las que podría querer contribuir con habilidades o conocimientos.

El foundation model granite-7b-lab es un gran modelo de lenguaje de IBM con 7.000 millones de parámetros.

Al igual que otros modelos de base de la serie IBM Granite de modelos de base, el modelo está preentrenado en conjuntos de datos especializados en empresas, lo que significa que el modelo está familiarizado con el lenguaje especializado de varios sectores y puede generar más fácilmente contenidos basados en conocimientos relevantes del sector.

A diferencia de algunos de los modelos fundacionales de la serie ' IBM ' Granite, el ' granite-7b-lab ' ' foundation model se afinó utilizando un novedoso método de alineación de la Investigación ' IBM denominado ' Alineación a gran escala para " chatBots (LAB). Para obtener más información sobre el método de ajuste de alineación LAB, consulte Modelos de cimentaciónInstructLab.

Explorar la taxonomía foundation model

Puede obtener más información sobre las capacidades del foundation model granite-7b-lab explorando la taxonomía del foundation model.

Para acceder a la taxonomía, siga estos pasos:

  1. En watsonx.ai Prompt Lab en modo chat, haga clic en el campo Modelo y, a continuación, seleccione Ver todos los modelos de la fundación.

  2. Busque y haga clic en el mosaico del foundation model" granite-7b-lab ".

  3. Haga clic para abrir la pestaña Taxonomía de formación de la ficha del modelo.

    Captura de pantalla de la taxonomía de formación para el foundation model granite-7b-lab

  4. Explorar los conocimientos y competencias de la taxonomía. Cada nodo final del árbol taxonómico representa una habilidad para la que se ha entrenado al modelo. Puede hacer clic en una habilidad para ver los ejemplos semilla que se utilizaron para generar los datos sintéticos que se utilizaron para entrenar el modelo.

Impulsar el foundation model granite-7b-lab

Para obtener los mejores resultados del foundation model granite-7b-lab, comience por utilizar las estructuras de indicaciones recomendadas cuando elabore la entrada foundation model para las distintas tareas. A medida que trabaje con el modelo, podrá ajustar los parámetros del modelo y el formato de los avisos para encontrar la mejor configuración para su caso de uso.

El foundation model granite-7b-lab está optimizado para los siguientes usos:

Clasificación

Para utilizar el foundation model granite-7b-lab para clasificar la información, siga estas recomendaciones.

La siguiente tabla enumera los parámetros del modelo recomendados para solicitar el ' granite-7b-lab ' foundation model para una tarea de clasificación.

Tabla 1. Parámetros de modelo recomendados a partir de granite-7b-lab en una tarea de clasificación
Parámetro Valor o rango recomendado Explicación
Decodificación Codiciosa La descodificación codiciosa elige tokens sólo de entre las opciones más probables, lo que es mejor cuando se quiere clasificar texto.
Penalización por repetición 1 Utiliza el valor más bajo. Se espera que se repita.
Máximo de tokens varía Utilice un valor que cubra el número de tokens de su etiqueta de clase más larga, como 3 o 5. Limitar los tokens anima al modelo a devolver sólo la etiqueta de clase apropiada y nada más.
Criterios de detención <|endoftext|> Sin la secuencia de parada <|endoftext|>, el modelo podría generar más salida que la etiqueta de clase.

 

Para solicitar al foundation model granite-7b-lab una tarea de clasificación, siga estos pasos:

  1. Identifique las clases o etiquetas de clasificación que desea que el modelo asigne a la entrada. Asegúrese de enumerar estas etiquetas de clase en el segmento de instrucciones de su aviso.

    Por ejemplo, si desea clasificar las reseñas de productos de los clientes como positivas o negativas, podría definir dos etiquetas de clase: Postitive y Negative.

  2. Reúna dos o tres ejemplos representativos del tipo de texto de entrada que desea que el modelo clasifique.

  3. Trabaja con el foundation model granite-7b-lab del Prompt Lab en modo libre para poder estructurar tus prompts.

  4. En el panel Parámetros del modelo, establezca los parámetros del modelo recomendados en la Tabla 1.

  5. En el aviso, identifique claramente el aviso del sistema, la entrada del usuario y dónde debe ir la salida del modelo.

    Por ejemplo, cuando se entrenó el foundation model granite-7b-lab para clasificar texto, se utilizó la siguiente estructura de instrucciones:

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    {INSTRUCTION}
    Your response should only include the answer. Do not provide any further explanation.
    Here are some examples, complete the last one:
    {INPUT_LABEL}:
    {ICL_INPUT_1}
    {OUTPUT_LABEL}:
    {ICL_OUTPUT_1}
    {INPUT_LABEL}:
    {ICL_INPUT_2}
    {OUTPUT_LABEL}:
    {ICL_OUTPUT_2}
    {INPUT_LABEL}:
    {TEST_INPUT}
    {OUTPUT_LABEL}:
    <|assistant|>
    
    

    Puede utilizar una estructura similar para aprovechar la formación del modelo. Basta con sustituir las variables del marcador de posición en la plantilla de avisos.

    Tabla 3a: Variables del marcador de posición de la plantilla de clasificación
    Variable de marcador de posición Descripción Ejemplos
    {INSTRUCTION} Descripción de la tarea. Incluya una lista de las clases que desea que el modelo asigne a la entrada. Para cada reseña de producto, indique si la reseña es Positiva o Negativa.
    {INPUT_LABEL} Etiqueta abreviada del texto a clasificar. Input, Customer review, Feedback, Comment
    {OUTPUT_LABEL} Etiqueta corta que representa el valor de clasificación. Class
    {ICL_INPUT_N} Opcional. Ejemplos de texto de entrada para clasificar. Añada ejemplos cuando desee utilizar un aviso de pocas palabras para apoyar el aprendizaje en contexto. The service representative did not listen to a word I said. It was a waste of my time.
    {ICL_OUTPUT_N} Ejemplos de resultados con etiquetas de clase asignadas a los ejemplos de texto de entrada correspondientes. Positive, Negative

Ejemplo de aviso de clasificación

La siguiente pregunta clasifica los comentarios que los clientes comparten sobre el personal del centro de asistencia. Se especifican los siguientes parámetros del modelo:

  • Secuencia de parada: <|endoftext|>
  • Fichas máximas: 3
<|system|>
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
<|user|>
For each feedback, specify whether the content is Positive or Negative. Your response should only include the answer. Do not provide any further explanation.
Here are some examples, complete the last one:
Feedback:
Carol, the service rep was so helpful. She answered all of my questions and explained things beautifully.
Class:
Positive
   
Feedback:
The service representative did not listen to a word I said. It was a waste of my time.
Class:
Negative
   
Feedback:
Carlo was so helpful and pleasant. He was able to solve a problem that I've been having with my software for weeks now.
Class:
<|assistant|>

La salida que genera el foundation model granite-7b-lab cuando se envía esta solicitud es ' Positive.

Conversando con granite-7b-lab

Para obtener los mejores resultados al chatear con el foundation model granite-7b-lab, siga primero estas recomendaciones y luego experimente para obtener los resultados que desea.

La siguiente tabla enumera los parámetros recomendados del modelo para solicitar el ' granite-7b-lab ' foundation model para una tarea conversacional.

Tabla 2. Parámetros del modelo recomendados a partir del prompting granite-7b-lab en una tarea conversacional
Parámetro Valor o rango recomendado Explicación
Decodificación Muestreo La descodificación por muestreo genera un texto más creativo, que ayuda a añadir interés y personalidad a las respuestas del chatbot. Sin embargo, también puede dar lugar a resultados impredecibles. Puedes controlar el grado de creatividad con el siguiente conjunto de parámetros del modelo.
Top P: 0,85
Top K: 50
Temperatura: 0.7
Todos estos parámetros de descodificación del muestreo funcionan a la vez. El modelo selecciona un subconjunto de tokens entre los que elegir el token a incluir en la salida.
El subconjunto incluye los 50 tokens más probables (Top K) o los tokens que, al sumar sus puntuaciones de probabilidad, alcanzan una puntuación total de 0.85 (Top P). El valor relativamente bajo de la temperatura de 0.7 amplifica la diferencia en las puntuaciones de los tokens. Como resultado, los tokens que pasan el corte suelen ser los más probables.
- Para aumentar la creatividad y la diversidad de las respuestas, aumente el valor de la temperatura.
- Si el modelo alucina, baja el valor de la temperatura.
Penalización por repetición 1.05 Establezca la penalización en este valor bajo para evitar que el chatbot suene robótico repitiendo palabras o frases.
Semilla aleatoria Sólo especifique un valor para este ajuste si está probando algo y desea eliminar la aleatoriedad como factor de la prueba.
Por ejemplo, si desea cambiar la temperatura para ver cómo afecta a la salida, envíe la misma entrada repetidamente y cambie sólo el valor de la temperatura cada vez. Especifique también un número, como 5, como semilla aleatoria cada vez para eliminar que las elecciones aleatorias de tokens afecten también a la salida del modelo. El número en sí no importa, siempre que especifiques el mismo número cada vez.
Secuencia de parada <|endoftext|> Sin la secuencia de parada <|endoftext|>, el modelo podría añadir más información explicativa de la necesaria.
Máximo de tokens 900 La longitud máxima de la ventana de contexto para el foundation model granite-7b-lab, que incluye tanto tokens de entrada como de salida, es de 8192. Para obtener más información sobre los tokens, consulte Tokens y tokenización.
Con cada pregunta de seguimiento, se incluye el historial de la conversación como parte de la consulta del modelo. El foundation model granite-7b-lab puede mantener una conversación hasta 5 turnos o hasta que la entrada alcance los 4.000 tokens de longitud.

 

Para obtener más información sobre los parámetros del modelo, consulte Parámetros del modelo para preguntar.

Para solicitar al foundation model granite-7b-lab una tarea de chat, pruebe estos pasos:

  1. Desde el Prompt Lab en modo chat, elige el foundation model granite-7b-lab.

    El modo de chat tiene valores de parámetros de aviso predeterminados que están optimizados para los intercambios conversacionales, incluido un valor Máximo de tokens más alto.

  2. En el panel Parámetros del modelo, aplique los valores de los parámetros del modelo recomendados en la Tabla 2.

  3. En el modo chat, puede enviar entradas de usuario sin formatear el texto de entrada.

    El modo Chat aplica el texto de aviso del sistema por ti. Puede hacer clic en el icono de texto Ver texto de solicitud completo para ver cómo está formateado su texto.

  4. Para enviar la misma consulta en modo libre, debe configurar la consulta del sistema.

    Añade instrucciones. Por ejemplo, el siguiente texto de instrucciones se utilizó para entrenar el modelo y, por tanto, le resulta familiar.

    Eres un modelo lingüístico de IA desarrollado por IBM Research. Eres un ayudante precavido. Sigue cuidadosamente las instrucciones. Eres servicial e inofensivo y sigues pautas éticas y promueves un comportamiento positivo.

    Para copiar el texto de aviso del sistema recomendado, haga clic en el icono Copiar al portapapeles del siguiente fragmento de código.

    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    

    Entabla una conversación.

    La estructura óptima para un aviso que se utiliza para una tarea de chat es la siguiente. El prompt incluye sintaxis que identifica los siguientes segmentos del prompt:

    • <|system|>: Identifica la instrucción, que también se conoce como prompt del sistema para el foundation model.
    • <|user|>: El texto de la consulta a responder.
    • <|assistant|>: Una señal al final de la pregunta que indica que se espera una respuesta generada.

    Cuando envíe avisos desde el Laboratorio de avisos en modo libre, utilice el formato de aviso esperado.

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    {PROMPT}
    <|assistant|>
    
    

    Por ejemplo:

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    What is the capital of Massachusetts?
    <|assistant|>
    
    
  5. Haga preguntas de seguimiento para mantener la conversación.

    A continuación se muestra la estructura óptima de un aviso que se utiliza para una charla con varios turnos de diálogo. Si envía preguntas desde el Laboratorio de preguntas en modo libre, utilice este formato de pregunta.

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    {ROUND1_PROMPT}
    <|assistant|>
    {MODEL_RESPONSE}
    <|user|>
    {ROUND2_PROMPT}
    <|assistant|>
    
    

    Por ejemplo:

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    What is the capital of Massachusetts?
    <|assistant|>
    The capital of Massachusetts is Boston. Boston is not only the largest city in Massachusetts but also one of the oldest cities in the United States, with a rich history and vibrant culture. It is home to numerous universities, hospitals, and technology companies, making it a significant center for education, biotechnology, finance, and tourism. If you have any specific questions about Boston or Massachusetts, feel free to ask!
    <|user|>
    What US cities are older?
    <|assistant|>
    There are several cities in the United States that are older than Boston and even older than the country itself! Some of these historical gems include:
    
    1. St. Augustine, Florida: Established in 1565, St. Augustine is the oldest continuously inhabited European-established settlement within the borders of the contiguous United States.
    2. Jamestown, Virginia: Founded in 1607, Jamestown was the first permanent English settlement in North America.
    3. Plymouth, Massachusetts: Established in 1620, Plymouth ...
    

Devolución de respuestas objetivas con el patrón RAG

Para guiar al foundation model granite-7b-lab para que devuelva respuestas basadas en hechos, utilice el patrón de generación de recuperación aumentada. La generación aumentada por recuperación fundamenta la entrada que usted envía al modelo con información objetiva sobre el tema que se va a debatir. Para obtener más información, consulte Generación aumentada por recuperación (RAG).

Cuando desee obtener respuestas objetivas del foundation model granite-7b-lab, siga estas recomendaciones.

La siguiente tabla enumera los parámetros del modelo recomendados para solicitar al foundation model granite-7b-lab una tarea de generación aumentada por recuperación.

Tabla 3. Parámetros del modelo recomendados a partir de granite-7b-lab en una tarea RAG
Parámetro Valor o rango recomendado Explicación
Decodificación Codiciosa La descodificación codiciosa elige fichas sólo de entre las opciones más probables, lo que es mejor cuando se quieren respuestas objetivas.
Penalización por repetición 1 Utiliza el valor más bajo. La repetición es aceptable cuando el objetivo son las respuestas objetivas.
Máximo de tokens 500 El modelo puede responder a la pregunta de la forma más completa posible.
' Recuerda que la longitud máxima de la ventana de contexto para el foundation model granite-7b-lab, que incluye tanto los tokens de entrada como los de salida, es de 8192. Mantén tu aportación, incluido el documento que añadas para fundamentar la petición, dentro de ese límite. Para obtener más información sobre los tokens, consulte Tokens y tokenización.
Criterios de detención <|endoftext|> Una característica útil del foundation model granite-7b-lab es la inclusión de un token especial que se llama <|endoftext|> al final de cada respuesta. Cuando algunos modelos generativos devuelven una respuesta a la entrada en menos tokens que el número máximo permitido, pueden repetir patrones de la entrada. Este modelo evita tal repetición incorporando una secuencia de parada fiable para el indicador.

 

Para obtener más información sobre los parámetros del modelo, consulte Parámetros del modelo para preguntar.

Para activar el foundation model granite-7b-lab para una tarea de generación aumentada por recuperación, siga estos pasos:

  1. Busca recursos fiables con información objetiva sobre el tema que quieres que trate el modelo y que tengas permiso para utilizar. Copia un extracto del documento o documentos en un editor de texto u otra herramienta a la que puedas acceder más tarde.

    Por ejemplo, el recurso puede ser la información sobre un producto de la página web de su empresa o la documentación del producto.

  2. Desde el Laboratorio de avisos, abra el modo libre para poder estructurar sus avisos. Elija el foundation model granite-7b-lab.

  3. En el panel Parámetros del modelo, establezca los parámetros del modelo recomendados en la Tabla 3.

  4. En su aviso, defina claramente el aviso del sistema, la entrada del usuario y dónde debe ir la salida del modelo.

    Por ejemplo, la siguiente estructura de consulta puede ayudar al foundation model granite-7b-lab a devolver información relevante.

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    You are an AI language model designed to function as a specialized Retrieval Augmented Generation (RAG) assistant. When generating responses, prioritize correctness, i.e., ensure that your response is grounded in context and user query. Always make sure that your response is relevant to the question.
    Answer Length: {ANSWER_LENGTH}
    [Document]
    {DOCUMENT1_TITLE}
    {DOCUMENT1_CONTENT}
    [End]
    [Document]
    {DOCUMENT2_TITLE}
    {DOCUMENT2_CONTENT}
    [End]
    [Document]
    {DOCUMENT3_TITLE}
    {DOCUMENT3_CONTENT}
    [End]
    {QUERY}
    <|assistant|>
    
    

    Nota: El inicio y el final del contenido del documento se indican mediante las etiquetas especiales [Document] y [End]. Utilice una sintaxis similar si desea añadir etiquetas especiales que identifiquen tipos de contenido o encabezados de subsección en sus avisos. Cuando se creó el foundation model granite-7b-lab, se le entrenó para manejar las siguientes etiquetas especiales:

    • <|system|>: Identifica la instrucción, que también se conoce como prompt del sistema para el foundation model.
    • <|user|>: El texto de la consulta a responder.
    • <|assistant|>: Una señal al final de la pregunta que indica que se espera una respuesta generada.

    No utilice la misma sintaxis <|tagname|> para sus etiquetas personalizadas o podría confundir al modelo.

  5. Si copia esta plantilla, después de pegarla en el editor de Prompt Lab, reemplace las variables del marcador de posición.

    Cuadro 4: Variables del marcador de posición de la plantilla GAR
    Variable de marcador de posición Descripción Ejemplos
    {ANSWER_LENGTH} Opcional. Define la longitud esperada de la respuesta. Las opciones incluyen (de la respuesta más corta a la más larga): single word, concise, narrative
    {DOCUMENTn_TITLE} Título del documento del que se extrae el extracto con información factual. Puede incluir contenidos de más de un documento. Folleto del producto
    {DOCUMENTn_CONTENT} Extracto del texto con la información objetiva que desea que el modelo pueda comentar con conocimiento de causa. Texto de un folleto de marketing, documentación de un producto, sitio web de la empresa u otro recurso fiable.
    {QUERY} Pregunta que debe responderse con hechos. Una pregunta sobre el tema que se trata en el documento.

     

    Consejo: Como alternativa, puede definir y utilizar una variable de aviso para el documento, de modo que el aviso pueda reutilizarse y el contenido pueda sustituirse dinámicamente cada vez. Para obtener más información, consulte Creación de avisos reutilizables.

Ejemplo de solicitud de generación mejorada por recuperación

La siguiente consulta utiliza el foundation model granite-7b-lab para responder a preguntas sobre el ajuste de consultas.

Nota: El contenido del documento está tomado del tema Métodos para afinar modelos de cimentación.

<|system|>
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
<|user|>
You are an AI language model designed to function as a specialized Retrieval Augmented Generation (RAG) assistant. When generating responses, prioritize correctness, i.e., ensure that your response is grounded in context and user query. Always make sure that your response is relevant to the question.
Answer length: concise
[Document]
How prompt-tuning works
Foundation models are sensitive to the input that you give them. Your input, or how you prompt the model, can introduce context that the model will use to tailor its generated output. Prompt engineering to find the right prompt often works well. However, it can be time-consuming, error-prone, and its effectiveness can be restricted by the context window length that is allowed by the underlying model.
Prompt-tuning a model in the Tuning Studio applies machine learning to the task of prompt engineering. Instead of adding words to the input itself, prompt-tuning is a method for finding a sequence of values that, when added as a prefix to the input text, improve the model's ability to generate the output you want. This sequence of values is called a prompt vector.
Normally, words in the prompt are vectorized by the model. Vectorization is the process of converting text to tokens, and then to numbers defined by the model's tokenizer to identify the tokens. Lastly, the token IDs are encoded, meaning they are converted into a vector representation, which is the input format that is expected by the embedding layer of the model. Prompt-tuning bypasses the model's text-vectorization process and instead crafts a prompt vector directly. This changeable prompt vector is concatenated to the vectorized input text and the two are passed as one input to the embedding layer of the model. Values from this crafted prompt vector affect the word embedding weights that are set by the model and influence the words that the model chooses to add to the output.
To find the best values for the prompt vector, you run a tuning experiment. You demonstrate the type of output that you want for a corresponding input by providing the model with input and output example pairs in training data. With each training run of the experiment, the generated output is compared to the training data output. Based on what it learns from differences between the two, the experiment adjusts the values in the prompt vector. After many runs through the training data, the model finds the prompt vector that works best.
[End]
How does prompt tuning work?
<|assistant|>

El foundation model granite-7b-lab genera un resumen preciso de cómo funciona el ajuste rápido que se basa en la información del contenido del documento que se proporcionó con la entrada.

El resultado es algo parecido a esto:

La sintonización de instrucciones es un método para mejorar la capacidad de un modelo para generar resultados específicos mediante el ajuste de una secuencia de valores llamada vector de instrucciones. En lugar de añadir palabras directamente a la entrada, la sintonización de instrucciones crea un vector de instrucciones que influye directamente en las ponderaciones de incrustación de palabras establecidas por el modelo. Para ello, se vectoriza el texto de entrada y se codifican los ID de los tokens en una representación vectorial, que luego se concatena con el vector de avisos elaborado y se pasa como una entrada a la capa de incrustación del modelo. El experimento ajusta los valores en el vector de aviso basándose en las diferencias entre la salida generada y la salida deseada en los ejemplos de datos de entrenamiento. A lo largo de muchas ejecuciones a través de los datos de entrenamiento, el modelo encuentra el vector de aviso que mejor funciona.

 

Más información

Para saber más sobre el foundation model granite-7b-lab, lea los siguientes recursos:

Tema principal: IBM modelos de fundación

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información