{"id":47367,"date":"2026-03-13T04:31:22","date_gmt":"2026-03-13T03:31:22","guid":{"rendered":"\/mx\/tutoriales\/prompt-tuning"},"modified":"2026-03-13T04:31:22","modified_gmt":"2026-03-13T03:31:22","slug":"prompt-tuning","status":"publish","type":"post","link":"\/mx\/tutoriales\/prompt-tuning","title":{"rendered":"\u00bfQu\u00e9 es el prompt tuning? \u00bfC\u00f3mo funciona?"},"content":{"rendered":"<p>El ajuste de prompts es una t&eacute;cnica para mejorar el desempe&ntilde;o de los modelos de IA al optimizar vectores entrenables llamados soft prompts. En lugar de reentrenar y modificar todo el modelo, t&uacute; solo trabajas con estos vectores, lo que hace que el modelo sea m&aacute;s eficiente y logre un mejor rendimiento para tus necesidades espec&iacute;ficas.<\/p><p>El proceso sigue cinco pasos sencillos: creas vectores entrenables, los pruebas con el modelo y mides su rendimiento. Luego, el sistema realiza mejoras y actualiza los prompts autom&aacute;ticamente mediante ciclos repetidos hasta que obtienes resultados cada vez mejores de forma constante.<\/p><p>En esta gu&iacute;a vamos a recorrer estos pasos en detalle, profundizar en c&oacute;mo funciona realmente el ajuste de prompts, explorar aplicaciones reales en distintas industrias, compartir estrategias comprobadas para obtener los mejores resultados y comparar este m&eacute;todo con las t&eacute;cnicas est&aacute;ndar de ajuste fino.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-does-prompt-tuning-mean\">&iquest;Qu&eacute; significa el ajuste de prompts?<\/h2><p>El prompt tuning significa que t&uacute; personalizas modelos de IA al entrenar un conjunto peque&ntilde;o de vectores especiales que gu&iacute;an c&oacute;mo responde el modelo, en lugar de modificar el modelo en s&iacute;. Esta t&eacute;cnica se basa en soft prompting para adaptarse autom&aacute;ticamente y ofrecer mejores resultados en tus tareas espec&iacute;ficas.<\/p><h3 class=\"wp-block-heading\" id=\"h-what-is-soft-prompting\">&iquest;Qu&eacute; es el soft prompting?<\/h3><p>El soft prompting es un proceso para mejorar el rendimiento que usa vectores num&eacute;ricos entrenables en lugar de palabras comunes para comunicarse con modelos de IA. Mientras la ingenier&iacute;a de prompts tradicional consiste en redactar manualmente la frase perfecta, el soft prompting permite que el sistema descubra su propio enfoque, lo que suele superar cualquier cosa que una persona pueda escribir.<\/p><p>As&iacute; funciona: cuando escribes &ldquo;Por favor, resume este texto de forma profesional&rdquo;, est&aacute;s usando <a href=\"\/mx\/tutoriales\/escribir-prompt-para-ia\">instrucciones estrictas<\/a>. Estas son palabras reales que la IA lee, igual que t&uacute; las lees.<\/p><p>El soft prompting adopta un enfoque distinto al usar patrones num&eacute;ricos que transmiten ideas que la IA entiende sin estar ligado a palabras espec&iacute;ficas que t&uacute; reconocer&iacute;as. El sistema desarrolla su propio m&eacute;todo de comunicaci&oacute;n que funciona mejor que el lenguaje humano para muchas tareas.<\/p><p>Aqu&iacute; es donde entra en juego el ajuste de soft prompts. A partir de esta base, entrena estos patrones num&eacute;ricos con tus tareas espec&iacute;ficas. El sistema aprende qu&eacute; combinaciones dan de forma constante los resultados que buscas y crea un enfoque de comunicaci&oacute;n personalizado perfectamente adaptado a tus necesidades.<\/p><p>Una vez que hayas entrenado estos soft prompts, funcionan en tareas similares y te dan un mejor desempe&ntilde;o sin tener que empezar desde cero cada vez.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-does-prompt-tuning-work\">&iquest;C&oacute;mo funciona el ajuste de prompts?<\/h2><p>El prompt tuning consiste en entrenar vectores espec&iacute;ficos que les ense&ntilde;an a los modelos de IA a rendir mejor en tus tareas espec&iacute;ficas. El proceso sigue un ciclo sencillo: empiezas con vectores b&aacute;sicos de marcador de posici&oacute;n, los pasas por tu modelo, mides qu&eacute; tan bien funcionan y luego usas entrenamiento automatizado para mejorar su rendimiento.<\/p><p>En lugar de ajustar manualmente los prompts mediante prueba y error, este enfoque utiliza aprendizaje autom&aacute;tico para descubrir de forma autom&aacute;tica las estrategias m&aacute;s efectivas para comunicarte con tu sistema de IA.<\/p><p>Acomp&aacute;&ntilde;anos a recorrer cada paso para ver c&oacute;mo este enfoque sistem&aacute;tico convierte prompts b&aacute;sicos en herramientas poderosas de comunicaci&oacute;n con IA.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-initialize-the-prompt\">1. Inicializa el prompt<\/h3><p>El primer paso consiste en crear un conjunto de vectores de embedding entrenables que servir&aacute;n como punto de partida para tu optimizaci&oacute;n.<\/p><p>Estos vectores comienzan como valores num&eacute;ricos aleatorios. Piensa en ellos como marcadores de posici&oacute;n en blanco que el sistema aprender&aacute; gradualmente a completar con los patrones de indicaciones m&aacute;s efectivos para tu tarea espec&iacute;fica.<\/p><p>Durante la inicializaci&oacute;n, t&uacute; decides cu&aacute;ntos vectores de embedding usar (normalmente entre 20 y 100 tokens), mientras el sistema asigna sus valores iniciales autom&aacute;ticamente.<\/p><p>El n&uacute;mero de vectores depende de la complejidad de tu tarea. Las tareas simples como la clasificaci&oacute;n pueden necesitar solo entre 20 y 50 vectores, mientras que la generaci&oacute;n de texto compleja podr&iacute;a requerir entre 50 y 100 o m&aacute;s.<\/p><p>As&iacute; funciona en la pr&aacute;ctica. Supongamos que quieres entrenar <a href=\"\/mx\/tutoriales\/modelos-grandes-de-lenguaje-llm\">modelos de lenguaje grandes<\/a> para escribir mejores descripciones de productos para un sitio de comercio electr&oacute;nico.<\/p><p>Usaremos las bibliotecas <strong>transformers<\/strong> y <strong>peft<\/strong> en este ejemplo, junto con PyTorch como nuestro framework de aprendizaje autom&aacute;tico. Si est&aacute;s siguiendo esto en Google Colab, solo necesitas ejecutar <strong>!pip install peft<\/strong> porque las otras librer&iacute;as ya est&aacute;n disponibles.<\/p><p>Este es el c&oacute;digo que debes ingresar para inicializar los vectores de embedding:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python\n\nfrom peft import PromptTuningConfig, get_peft_model\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\n# Step 1: Configure your prompt tuning setup\nconfig = PromptTuningConfig(\n    num_virtual_tokens=50,        # You decide how many tokens\n    task_type=&rdquo;CAUSAL_LM&rdquo;,       # Specify your task type\n    prompt_tuning_init=&rdquo;RANDOM&rdquo;   # Start with random values\n)\n\n# Step 2: Load your model and tokenizer\nmodel = AutoModelForCausalLM.from_pretrained(&ldquo;gpt2&rdquo;)  # Fixed: Use AutoModelForCausalLM\ntokenizer = AutoTokenizer.from_pretrained(&ldquo;gpt2&rdquo;)\n\n# Add padding token if it doesn&rsquo;t exist\nif tokenizer.pad_token is None:\n    tokenizer.pad_token = tokenizer.eos_token\n\nmodel = get_peft_model(model, config)      # Add prompt tuning capability<\/pre><p>Esta configuraci&oacute;n crea 50 vectores aleatorios para la generaci&oacute;n de texto usando GPT-2 como modelo base. La funci&oacute;n <strong>get_peft_model()<\/strong> a&ntilde;ade la capacidad de prompt tuning sin cambiar los par&aacute;metros del modelo original.<\/p><p>En este punto, tus vectores de embedding siguen siendo aleatorios y no mejorar&aacute;n el rendimiento de tu modelo, pero eso est&aacute; a punto de cambiar a medida que avancemos en el proceso de entrenamiento.<\/p><h3 class=\"wp-block-heading\" id=\"h-2-feed-the-prompt-into-the-model-forward-pass\">2. Introduce el prompt en el modelo (propagaci&oacute;n hacia adelante)<\/h3><p>Una vez que se inicializan tus vectores de embedding, el siguiente paso es realizar una propagaci&oacute;n hacia adelante. Aqu&iacute; es donde el modelo combina tus vectores con tu texto de entrada y genera una respuesta.<\/p><p>Aunque los vectores no son legibles para las personas, influyen en c&oacute;mo el modelo interpreta y responde a tu contenido.<\/p><p>Veamos esto en acci&oacute;n con nuestro ejemplo de comercio electr&oacute;nico. Aqu&iacute; tienes el c&oacute;digo para ejecutar la propagaci&oacute;n hacia adelante:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python\n\nimport torch\nfrom peft import PromptTuningConfig, get_peft_model\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\n# Assuming you have the model setup from the previous step\n# Your product information\nproduct_info = &ldquo;Wireless Bluetooth headphones, 30-hour battery life, noise cancellation&rdquo;\n\n# Generate description using your prompt-tuned model\ninputs = tokenizer(product_info, return_tensors=&rdquo;pt&rdquo;)\n\n# Move inputs to same device as model (important!)\nif torch.cuda.is_available():\n    inputs = {k: v.to(model.device) for k, v in inputs.items()}\n\n# Generate with better parameters\nwith torch.no_grad():  # Save memory during inference\n    outputs = model.generate(\n        **inputs, \n        max_length=100,\n        do_sample=True,      # Add randomness\n        temperature=0.7,     # Control randomness\n        pad_token_id=tokenizer.eos_token_id  # Avoid warnings\n    )\n\ndescription = tokenizer.decode(outputs[0], skip_special_tokens=True)\nprint(description)<\/pre><p>En segundo plano, el modelo combina autom&aacute;ticamente tus 50 vectores de embedding con tu texto de entrada antes de procesarlo todo junto.<\/p><p>Los vectores aleatorios ya est&aacute;n influyendo en el estilo y la estructura del modelo, pero a&uacute;n no est&aacute;n optimizados, as&iacute; que no esperes grandes resultados. Esto es normal. Si te aparecen errores, aseg&uacute;rate de haber ejecutado primero el c&oacute;digo del paso 1.<\/p><p>El siguiente paso es medir qu&eacute; tan bueno es el resultado en comparaci&oacute;n con lo que quieres, y ah&iacute; es donde entra la etapa de evaluaci&oacute;n.<\/p><h3 class=\"wp-block-heading\" id=\"h-3-evaluate-the-output-with-a-loss-function\">3. Eval&uacute;a el resultado con una funci&oacute;n de p&eacute;rdida<\/h3><p>Despu&eacute;s de que el modelo genere su respuesta, necesitas medir qu&eacute; tan bien se desempe&ntilde;&oacute; en comparaci&oacute;n con lo que quer&iacute;as. Las funciones de p&eacute;rdida calculan la diferencia entre la salida del modelo y tus resultados objetivo, como si le pusieras una nota a la IA. Para tareas de generaci&oacute;n de texto como esta, usaremos la p&eacute;rdida de entrop&iacute;a cruzada, que es la opci&oacute;n est&aacute;ndar para los modelos de lenguaje.<\/p><p>La funci&oacute;n de p&eacute;rdida asigna un puntaje num&eacute;rico que representa qu&eacute; tan preciso es el resultado. Los puntajes m&aacute;s bajos indican un mejor desempe&ntilde;o. Tus comentarios son clave para mejorar tus vectores de embedding.<\/p><p>Vamos a configurar datos de evaluaci&oacute;n para nuestro ejemplo de descripci&oacute;n de producto. Vas a necesitar ejemplos que le muestren al modelo c&oacute;mo deben ser las buenas descripciones:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python\n\nimport torch\nfrom torch.utils.data import Dataset\nfrom transformers import TrainingArguments, Trainer, DataCollatorForLanguageModeling\n\n# Create your training examples (input-output pairs)\ntraining_examples = [\n    {\n        &ldquo;input_text&rdquo;: &ldquo;Wireless Bluetooth headphones, 30-hour battery life, noise cancellation&rdquo;,\n        &ldquo;target_text&rdquo;: &ldquo;Enjoy crystal-clear sound with these wireless Bluetooth headphones. With 30-hour battery life and noise cancellation, they&rsquo;re perfect for daily use and travel.&rdquo;\n    },\n    {\n        &ldquo;input_text&rdquo;: &ldquo;Smart fitness tracker, heart rate monitor, waterproof&rdquo;, \n        &ldquo;target_text&rdquo;: &ldquo;Track your fitness goals with this smart tracker featuring heart rate monitoring and waterproof design for any workout.&rdquo;\n    },\n]\n\nclass PromptDataset(Dataset):\n    def __init__(self, examples, tokenizer, max_length=128):\n        self.examples = examples\n        self.tokenizer = tokenizer\n        self.max_length = max_length\n    \n    def __len__(self):\n        return len(self.examples)\n    \n    def __getitem__(self, idx):\n        example = self.examples[idx]\n        \n        # Combine input and target for causal LM training\n        full_text = example[&ldquo;input_text&rdquo;] + &ldquo; &ldquo; + example[&ldquo;target_text&rdquo;]\n        \n        # Tokenize properly\n        tokenized = self.tokenizer(\n            full_text,\n            truncation=True,\n            padding=&rdquo;max_length&rdquo;,\n            max_length=self.max_length,\n            return_tensors=&rdquo;pt&rdquo;\n        )\n        \n        # For causal LM, labels are the same as input_ids\n        return {\n            &ldquo;input_ids&rdquo;: tokenized[&ldquo;input_ids&rdquo;].squeeze(),\n            &ldquo;attention_mask&rdquo;: tokenized[&ldquo;attention_mask&rdquo;].squeeze(),\n            &ldquo;labels&rdquo;: tokenized[&ldquo;input_ids&rdquo;].squeeze()\n        }\n\n# Create your dataset\ndataset = PromptDataset(training_examples, tokenizer)\n\n# Configure data collator (this was missing!)\ndata_collator = DataCollatorForLanguageModeling(\n    tokenizer=tokenizer,\n    mlm=False,  # We&rsquo;re not doing masked language modeling\n)\n\n# Configure your training setup\ntraining_args = TrainingArguments(\n    output_dir=&rdquo;.\/prompt_tuning_results&rdquo;,\n    num_train_epochs=5,\n    per_device_train_batch_size=4,\n    learning_rate=0.01,  \n    logging_steps=10,\n    save_steps=100,\n    logging_dir=&rdquo;.\/logs&rdquo;,\n    remove_unused_columns=False,\n)\n\n# Set up the trainer\ntrainer = Trainer(\n    model=model,\n    args=training_args,\n    train_dataset=dataset,\n    data_collator=data_collator,\n)<\/pre><p>La primera parte de este c&oacute;digo crea pares de texto de entrada (caracter&iacute;sticas del producto) y texto objetivo (las descripciones ideales que quieres). El sistema usa estos ejemplos para aprender c&oacute;mo debe ser un buen resultado para tu caso de uso.<\/p><p>Luego, la configuraci&oacute;n le indica al sistema cu&aacute;ntas veces revisar tus ejemplos, cu&aacute;ntos procesar a la vez y con qu&eacute; intensidad aplicar cambios.<\/p><p>El framework calcula la p&eacute;rdida de forma autom&aacute;tica y muestra el progreso con valores de p&eacute;rdida que van disminuyendo. Cuando completes esta configuraci&oacute;n, ya puedes comenzar el proceso de entrenamiento propiamente dicho, donde se realiza la optimizaci&oacute;n.<\/p><h3 class=\"wp-block-heading\" id=\"h-4-apply-gradient-descent-and-backpropagation\">4. Aplica descenso de gradiente y retropropagaci&oacute;n<\/h3><p>Ahora es momento de optimizar tus vectores de embeddings con el valor de la p&eacute;rdida.<\/p><p>Este paso emplea dos t&eacute;cnicas matem&aacute;ticas clave: la retropropagaci&oacute;n identifica qu&eacute; vectores mejoraron o perjudicaron el rendimiento, y el descenso de gradiente determina la mejor manera de ajustar esos vectores para mejorar el rendimiento.<\/p><p>En lugar de cambiar valores al azar, el sistema calcula la direcci&oacute;n &oacute;ptima para cada ajuste. Esta precisi&oacute;n matem&aacute;tica hace que el ajuste de prompts sea mucho m&aacute;s eficiente que la prueba y error.<\/p><p>As&iacute; puedes comenzar el proceso de entrenamiento en el que ocurre esta optimizaci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python \n\nprint(&ldquo;Starting prompt tuning training&rdquo;)\ntrainer.train()<\/pre><p>Durante el entrenamiento, ver&aacute;s un progreso parecido a esto, con valores de p&eacute;rdida que disminuyen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Epoch 1\/5: [&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;] 100% - loss: 2.45\n# Epoch 2\/5: [&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;] 100% - loss: 1.89  \n# Epoch 3\/5: [&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;] 100% - loss: 1.34\n# Epoch 4\/5: [&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;] 100% - loss: 0.95\n# Epoch 5\/5: [&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;] 100% - loss: 0.73<\/pre><p>El sistema hace un seguimiento autom&aacute;tico de c&oacute;mo cada vector contribuye a la p&eacute;rdida, realiza ajustes precisos y muestra el progreso mediante la disminuci&oacute;n de los valores de p&eacute;rdida. Los valores m&aacute;s bajos indican que tus vectores de embeddings est&aacute;n aprendiendo a generar mejores descripciones.<\/p><p>El entrenamiento se detiene autom&aacute;ticamente despu&eacute;s de que completes todas las &eacute;pocas o cuando la p&eacute;rdida deja de mejorar de forma significativa. El proceso puede tardar desde minutos hasta horas, seg&uacute;n el tama&ntilde;o de tus datos. Cuando finalice el entrenamiento, ver&aacute;s que el cursor vuelve y los vectores optimizados se guardan autom&aacute;ticamente en tu directorio de salida.<\/p><p>Lo mejor es que no necesitas entender las matem&aacute;ticas complejas: solo inicias el proceso de entrenamiento y los algoritmos se encargan de toda la optimizaci&oacute;n de forma autom&aacute;tica.<\/p><h3 class=\"wp-block-heading\" id=\"h-5-iterate-and-update-the-prompt\">5. Itera y actualiza el prompt<\/h3><p>El paso final es probar tus vectores de embedding optimizados. Durante el entrenamiento, el sistema ejecut&oacute; autom&aacute;ticamente cientos de iteraciones en segundo plano, y en cada ronda hizo peque&ntilde;as mejoras que viste reflejadas en la disminuci&oacute;n de los valores de la p&eacute;rdida.<\/p><p>Ahora probemos c&oacute;mo evolucionaron tus vectores de embedding durante el entrenamiento. Agrega este c&oacute;digo para probar tu modelo reci&eacute;n optimizado:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python \n\n# Test your optimized prompt-tuned model\ntest_products = [\n    &ldquo;Wireless earbuds, 8-hour battery, touch controls&rdquo;,\n    &ldquo;Gaming laptop, RTX graphics, 144Hz display&rdquo;, \n    &ldquo;Smart watch, fitness tracking, waterproof design&rdquo;\n]\n\nprint(&ldquo;Testing optimized embedding vectors:&rdquo;)\nmodel.eval()  # Set to inference mode (not pt_model)\n\nfor product in test_products:\n    inputs = tokenizer(product, return_tensors=&rdquo;pt&rdquo;)\n    \n    # Move inputs to same device as model\n    if torch.cuda.is_available():\n        inputs = {k: v.to(model.device) for k, v in inputs.items()}\n    \n    # Generate with corrected parameters\n    with torch.no_grad():  # Save memory during inference\n        outputs = model.generate(\n            **inputs, \n            max_new_tokens=100,  # Fixed parameter name\n            do_sample=True, \n            top_p=0.95,\n            pad_token_id=tokenizer.eos_token_id,  # Avoid warnings\n            temperature=0.7  # Add for better control\n        )\n    \n    description = tokenizer.decode(outputs[0], skip_special_tokens=True)\n    print(f&rdquo;nProduct: {product}&rdquo;)\n    print(f&rdquo;Generated: {description}&rdquo;)<\/pre><p>Deber&iacute;as notar mejoras significativas en comparaci&oacute;n con el Paso 2:<\/p><p><strong>Calidad mejorada:<\/strong> ahora las descripciones coinciden de forma constante con tu estilo y tono deseados, en lugar de los resultados aleatorios de antes.<\/p><p><strong>Rendimiento constante: <\/strong>los mismos vectores de embedding optimizados funcionan en diferentes tipos de producto, lo que te da un sistema reutilizable.<\/p><p><strong>Progreso claro:<\/strong> compara estos resultados con el paso 2 para ver c&oacute;mo el entrenamiento transform&oacute; vectores aleatorios en resultados afinados.<\/p><p>Durante el entrenamiento, tus vectores de embedding pasaron de tener valores de p&eacute;rdida altos con resultados deficientes a valores de p&eacute;rdida bajos y una calidad constante alineada con tus objetivos. Los n&uacute;meros exactos var&iacute;an seg&uacute;n la tarea, pero siempre ver&aacute;s este patr&oacute;n de p&eacute;rdida decreciente que indica una mejora.<\/p><p>&iquest;Y esos n&uacute;meros aleatorios del inicio del proceso? Ahora se han convertido en una herramienta &uacute;til que hace que tu IA haga exactamente lo que quieres.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-are-the-real-world-applications-of-prompt-tuning\">&iquest;Para qu&eacute; puedes usar en el mundo real el ajuste de prompts?<\/h2><p>El ajuste de prompts est&aacute; ayudando a empresas de distintos sectores a personalizar la IA para sus necesidades espec&iacute;ficas sin tener que reconstruir modelos desde cero.<\/p><p>Las aplicaciones son sorprendentemente diversas:<\/p><ul class=\"wp-block-list\">\n<li><strong>Atenci&oacute;n al cliente.<\/strong> Las empresas le muestran a su modelo de IA ejemplos de conversaciones excelentes con clientes y este aprende a responder como sus mejores agentes de soporte, incorporando las pol&iacute;ticas de la empresa, el tono y la forma de manejar situaciones dif&iacute;ciles.<\/li>\n\n\n\n<li><strong>Marketing de contenidos.<\/strong> Los equipos de marketing alimentan su IA con su contenido de mejor desempe&ntilde;o para que identifique las frases que prefieren, c&oacute;mo estructuran los llamados a la acci&oacute;n e incluso los rasgos de personalidad que los hacen &uacute;nicos.<\/li>\n\n\n\n<li><strong>Trabajo jur&iacute;dico.<\/strong> Las firmas de abogados entrenan a la IA con sus propios contratos y casos para que aprenda a detectar los mismos problemas que detectar&iacute;an sus equipos legales con experiencia. Es como tener un asistente que ha estudiado todo tu trabajo anterior.<\/li>\n\n\n\n<li><strong>Registros m&eacute;dicos.<\/strong> Los hospitales usan sus notas cl&iacute;nicas existentes para entrenar una IA que redacte res&uacute;menes exactamente como los prefieren sus m&eacute;dicos, ajust&aacute;ndose a su estilo y terminolog&iacute;a, sin necesidad de un manual.<\/li>\n\n\n\n<li><strong>An&aacute;lisis financiero.<\/strong> Los bancos entrenan su IA con a&ntilde;os de informes de mercado y esta aprende a evaluar las inversiones igual que sus analistas, centr&aacute;ndose en lo que realmente importa para su situaci&oacute;n espec&iacute;fica.<\/li>\n\n\n\n<li><strong>Aprendizaje en l&iacute;nea.<\/strong> En los sitios educativos, usas sus cursos m&aacute;s exitosos para entrenar la IA y crear contenido nuevo ideal para tus estudiantes, y as&iacute; averiguas qu&eacute; estilo de ense&ntilde;anza funciona mejor.<\/li>\n\n\n\n<li><strong>Desarrollo de software.<\/strong> Los equipos de desarrollo que <a href=\"\/mx\/horizons\">crean aplicaciones web<\/a> entrenan a la IA con su c&oacute;digo real y crean asistentes que entienden su estilo de c&oacute;digo y pueden detectar los errores que suelen cometer.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-what-are-the-best-practices-for-effective-prompt-tuning\">&iquest;Cu&aacute;les son las mejores pr&aacute;cticas para ajustar prompts de forma efectiva?<\/h2><p>Para lograr excelentes resultados con el ajuste de prompts, se trata de seguir algunas pr&aacute;cticas clave que pueden ahorrarte tiempo y evitar errores comunes:<\/p><ul class=\"wp-block-list\">\n<li><strong>Empieza con datos de entrenamiento de calidad.<\/strong> Tus ejemplos son materiales did&aacute;cticos que le muestran a la IA c&oacute;mo se ve el &eacute;xito. Procura tener entre 50 y 100 escenarios diversos y reales que representen lo que realmente vas a encontrar. Los ejemplos de mala calidad ense&ntilde;ar&aacute;n al sistema patrones equivocados y provocar&aacute;n resultados inconsistentes que no coinciden con tus expectativas.<\/li>\n\n\n\n<li><strong>Elige el n&uacute;mero de vectores adecuado. <\/strong>Empieza con 20 a 50 vectores para tareas sencillas y aumenta a 100 o m&aacute;s cuando necesites que la IA entienda requisitos m&aacute;s complejos. Muy pocos vectores no le dar&aacute;n al modelo la flexibilidad suficiente para aprender tus patrones espec&iacute;ficos, mientras que demasiados pueden provocar sobreajuste y un entrenamiento m&aacute;s lento.<\/li>\n\n\n\n<li><strong>Usa tasas de aprendizaje conservadoras. <\/strong>En el paso 3, inicia tus <strong>TrainingArguments<\/strong> entre 0,01 y 0,1 para lograr un progreso constante y confiable. Las tasas m&aacute;s altas pueden causar un rendimiento err&aacute;tico, mientras que las m&aacute;s bajas hacen que el entrenamiento sea innecesariamente lento sin aportar beneficios significativos.<\/li>\n\n\n\n<li><strong>Prueba a fondo.<\/strong> Prueba tus prompts ajustados con entradas que no usaste durante el entrenamiento, incluidos casos l&iacute;mite que puedan poner a prueba al sistema. Es mejor que identifiques los problemas durante las pruebas que despu&eacute;s del despliegue.<\/li>\n\n\n\n<li><strong>Lleva un registro de tus experimentos. <\/strong>Documenta qu&eacute; configuraciones y par&aacute;metros funcionaron bien, junto con sus resultados. Esto te ayuda a replicar enfoques exitosos y a evitar repetir experimentos fallidos, especialmente cuando trabajas con equipos o gestionas varios proyectos.<\/li>\n\n\n\n<li><strong>Planifica las actualizaciones. <\/strong>Tus requisitos evolucionar&aacute;n y, con el tiempo, reunir&aacute;s mejores ejemplos, as&iacute; que programa sesiones peri&oacute;dicas de reentrenamiento. Configura el monitoreo para detectar cuando el rendimiento empiece a empeorar en producci&oacute;n.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-what-are-the-challenges-in-prompt-tuning\">&iquest;Cu&aacute;les son los desaf&iacute;os del ajuste de prompts?<\/h3><p>Aunque el ajuste mediante indicaciones es m&aacute;s accesible que el ajuste fino tradicional, trae desaf&iacute;os de los que debes estar al tanto:<\/p><ul class=\"wp-block-list\">\n<li><strong>No puedes ver qu&eacute; hay dentro de los soft prompts.<\/strong> A diferencia de los prompts de texto normales, los vectores de soft prompts son solo n&uacute;meros que no corresponden a palabras legibles. Cuando algo sale mal, no puedes averiguar f&aacute;cilmente por qu&eacute; ni arreglarlo manualmente, ya que dependes del an&aacute;lisis estad&iacute;stico en vez de la soluci&oacute;n l&oacute;gica de problemas.<\/li>\n\n\n\n<li><strong>Riesgos del sobreajuste<\/strong> Tus prompts pueden funcionar muy bien con los ejemplos de entrenamiento, pero fallar en entradas nuevas si aprenden patrones demasiado espec&iacute;ficos de tus datos de entrenamiento. Esto es especialmente problem&aacute;tico con conjuntos de datos peque&ntilde;os o en dominios muy especializados.<\/li>\n\n\n\n<li><strong>Requisitos de c&oacute;mputo.<\/strong> El entrenamiento puede tardar de minutos a horas, seg&uacute;n el tama&ntilde;o de tus datos y de tu hardware. Aunque Google Colab funciona para proyectos peque&ntilde;os, los conjuntos de datos m&aacute;s grandes necesitan recursos m&aacute;s potentes.<\/li>\n\n\n\n<li><strong>Experimentaci&oacute;n con par&aacute;metros<\/strong>. Encontrar los valores correctos de la tasa de aprendizaje, el n&uacute;mero de tokens y las &eacute;pocas de entrenamiento suele requerir prueba y error. Lo que funciona para una tarea puede no funcionar para otra, aunque el espacio de par&aacute;metros es menor que con un ajuste fino completo.<\/li>\n\n\n\n<li><strong>La calidad de los datos importa. <\/strong>Los ejemplos sesgados o mal etiquetados har&aacute;n que tus prompts aprendan patrones incorrectos que luego ser&aacute;n dif&iacute;ciles de corregir. Recopilar datos de entrenamiento de calidad puede ser costoso y llevar mucho tiempo, especialmente en campos especializados.<\/li>\n\n\n\n<li><strong>Limitaciones del modelo.<\/strong> El ajuste de prompts funciona mejor con modelos tipo Transformer como GPT y BERT. Las arquitecturas m&aacute;s antiguas pueden no admitirlo de forma eficaz y el rendimiento var&iacute;a entre los distintos tama&ntilde;os de modelo.<\/li>\n\n\n\n<li><strong>Complejidad de la evaluaci&oacute;n.<\/strong> Medir el &eacute;xito requiere dise&ntilde;ar con cuidado m&eacute;tricas que reflejen el rendimiento en el mundo real, no solo las estad&iacute;sticas de entrenamiento. Crear conjuntos de pruebas exhaustivos que cubran casos l&iacute;mite puede resultarte dif&iacute;cil, pero es esencial.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-prompt-tuning-vs-fine-tuning-what-s-the-difference\">Prompt tuning vs. ajuste fino: &iquest;cu&aacute;l es la diferencia?<\/h2><p>El ajuste de prompts agrega vectores entrenables a tu entrada que gu&iacute;an el comportamiento del modelo sin cambiar el modelo original. Estos vectores aprenden la manera &oacute;ptima de comunicarse con la IA para tu tarea espec&iacute;fica.<\/p><p>El ajuste fino modifica el modelo al volver a entrenarlo con tus datos espec&iacute;ficos. Este proceso actualiza millones de par&aacute;metros en todo el modelo y crea una versi&oacute;n especializada adaptada a tu caso de uso en particular.<\/p><p>Ambos enfoques personalizan modelos de IA para necesidades espec&iacute;ficas, pero funcionan de maneras fundamentalmente distintas. El fine-tuning es como volver a entrenar la IA, mientras que el prompt tuning se parece m&aacute;s a aprender la forma perfecta de comunicarte con ella.<\/p><p>Aqu&iacute; tienes algunas diferencias clave:<\/p><ul class=\"wp-block-list\">\n<li><strong>Requisitos de c&oacute;mputo.<\/strong> El ajuste de prompts solo optimiza una peque&ntilde;a cantidad de vectores, lo que lo hace mucho m&aacute;s r&aacute;pido y accesible para equipos peque&ntilde;os. El ajuste fino requiere mucha m&aacute;s potencia de c&oacute;mputo y tiempo, ya que actualiza todo el modelo.<\/li>\n\n\n\n<li><strong>Almacenamiento y despliegue.<\/strong> Los modelos ajustados mediante prompts solo necesitan almacenar un conjunto peque&ntilde;o de vectores aprendidos junto al modelo original. Los modelos ajustados con fine-tuning crean archivos de modelo completamente nuevos que pueden ocupar gigabytes.<\/li>\n\n\n\n<li><strong>Flexibilidad.<\/strong> Con el ajuste de prompts, puedes usar varios conjuntos de vectores con el mismo modelo base para diferentes tareas. Los modelos con ajuste fino suelen estar especializados en un caso de uso espec&iacute;fico y requieren versiones independientes para otras tareas.<\/li>\n\n\n\n<li><strong>Riesgo y reversibilidad.<\/strong> El ajuste de prompts es m&aacute;s seguro porque el modelo original permanece sin cambios. Si algo sale mal, puedes simplemente descartar los vectores de embedding. Si haces un ajuste fino, modificas el modelo de forma permanente, lo que a veces puede reducir su rendimiento en tareas en las que antes era bueno.<\/li>\n\n\n\n<li><strong>Requisitos de datos.<\/strong> El ajuste de prompts puede funcionar de forma efectiva con conjuntos de datos m&aacute;s peque&ntilde;os, ya que solo aprende unas pocas decenas de tokens. El ajuste fino suele necesitar conjuntos de datos m&aacute;s grandes para evitar el sobreajuste cuando se actualizan millones de par&aacute;metros.<\/li>\n<\/ul><p>Para la mayor&iacute;a de los usos pr&aacute;cticos, el ajuste de prompts ofrece el mejor equilibrio entre personalizaci&oacute;n y eficiencia, sin la complejidad ni las exigencias de recursos del ajuste fino completo. Para una comparaci&oacute;n m&aacute;s detallada de los casos de uso, consulta nuestra <a href=\"\/mx\/tutoriales\/prompt-engineering-vs-fine-tuning\">gu&iacute;a completa sobre prompt tuning vs. fine-tuning<\/a>.<\/p><h3 class=\"wp-block-heading\" id=\"h-prefix-tuning-vs-prompt-tuning\">Prefix tuning vs. prompt tuning<\/h3><p>El prefix tuning funciona agregando par&aacute;metros entrenables directamente a las capas de atenci&oacute;n del modelo en lugar de agregarlos a tu texto de entrada. Estos par&aacute;metros aprendidos influyen en c&oacute;mo el modelo procesa la informaci&oacute;n en cada capa y, en esencia, crean indicaciones que act&uacute;an desde dentro del propio modelo.<\/p><p>Ambas t&eacute;cnicas personalizan el comportamiento del modelo sin volver a entrenarlo por completo, pero funcionan en puntos distintos. El prompt tuning agrega vectores a tu texto de entrada, mientras que el prefix tuning realiza cambios en el procesamiento interno del modelo.<\/p><p>Estas son algunas diferencias clave:<\/p><ul class=\"wp-block-list\">\n<li><strong>C&oacute;mo funcionan.<\/strong> El ajuste con prefijos modifica c&oacute;mo funciona internamente el sistema de atenci&oacute;n del modelo, lo que requiere m&aacute;s conocimientos t&eacute;cnicos. El ajuste de prompts agrega vectores entrenables a tu entrada, lo que es m&aacute;s f&aacute;cil de entender e implementar.<\/li>\n\n\n\n<li><strong>Requisitos de recursos.<\/strong> Ambos usan muchos menos par&aacute;metros que el ajuste fino completo, pero el ajuste de prefijos suele necesitar un poco m&aacute;s porque aprende par&aacute;metros para varias capas dentro del modelo. El ajuste de prompts solo aprende vectores para la entrada.<\/li>\n\n\n\n<li><strong>Rendimiento<\/strong> El ajuste por prefijos es mejor cuando necesitas que el modelo piense de otra manera a un nivel m&aacute;s profundo, por ejemplo al resolver problemas complejos paso a paso, al responder preguntas de varias partes o al mantener el contexto en conversaciones largas. El ajuste de prompts funciona bien para tareas sencillas como clasificar, generar texto simple o adaptar el estilo de escritura.<\/li>\n\n\n\n<li><strong>Facilidad de uso.<\/strong> El ajuste con prefijos requiere que tengas m&aacute;s experiencia t&eacute;cnica y puede que no est&eacute; disponible para todos los tipos de modelos. El ajuste de prompts tiene mayor soporte y es m&aacute;s f&aacute;cil de configurar en distintos frameworks.<\/li>\n\n\n\n<li><strong>Entender qu&eacute; est&aacute; pasando<\/strong>. Aunque ninguno de los dos m&eacute;todos produce resultados legibles para personas, el enfoque de prompt tuning de agregar vectores de embedding es m&aacute;s f&aacute;cil de entender que las modificaciones internas de prefix tuning.<\/li>\n<\/ul><p>Para la mayor&iacute;a de las aplicaciones pr&aacute;cticas, el ajuste de prompts ofrece un buen equilibrio entre eficacia y simplicidad. Considera usar prefix tuning si est&aacute;s trabajando en tareas complejas y tienes los conocimientos t&eacute;cnicos para implementarlo correctamente.<\/p><h3 class=\"wp-block-heading\" id=\"h-prompt-engineering-vs-fine-tuning\">Ingenier&iacute;a de prompts vs. ajuste fino<\/h3><p>La ingenier&iacute;a de prompts consiste en escribir y mejorar indicaciones de texto para obtener mejores resultados de los modelos de IA. Es el arte de crear instrucciones y ejemplos claros que ayudan al modelo a entender exactamente lo que quieres.<\/p><p>El ajuste fino crea una versi&oacute;n personalizada del modelo al volver a entrenarlo con tu conjunto de datos espec&iacute;fico. Este enfoque ajusta millones de par&aacute;metros en toda la arquitectura del modelo y produce un sistema especializado adaptado a tu tarea en particular.<\/p><p>Ambos enfoques buscan mejorar el rendimiento de la IA en tareas espec&iacute;ficas, pero funcionan de maneras completamente diferentes. <a href=\"\/tutorials\/prompt-engineering-best-practices\">Las mejores pr&aacute;cticas para crear prompts<\/a> se apoyan en la creatividad humana y la experimentaci&oacute;n con prompts de texto, mientras que el ajuste fino usa aprendizaje autom&aacute;tico para volver a entrenar de forma sistem&aacute;tica todo el modelo.<\/p><p>Estas son algunas diferencias clave:<\/p><ul class=\"wp-block-list\">\n<li><strong>C&oacute;mo funcionan.<\/strong> La ingenier&iacute;a de prompts consiste en escribir y probar diferentes prompts de texto hasta que encuentres lo que mejor funciona. El ajuste fino vuelve a entrenar todo el modelo con tu conjunto de datos espec&iacute;fico y actualiza millones de par&aacute;metros.<\/li>\n\n\n\n<li><strong>Tiempo y esfuerzo.<\/strong> La ingenier&iacute;a de prompts requiere un esfuerzo humano continuo para crear, probar y perfeccionar prompts para cada caso de uso. El ajuste fino requiere tiempo y recursos de c&oacute;mputo iniciales considerables, pero crea un modelo permanentemente especializado.<\/li>\n\n\n\n<li><strong>Coherencia. <\/strong>Los resultados de la ingenier&iacute;a de prompts pueden variar seg&uacute;n qui&eacute;n los escriba y cu&aacute;nto tiempo dedique a optimizarlos. Una vez que el ajuste fino termina, el modelo produce resultados consistentes porque se ha modificado de forma permanente.<\/li>\n\n\n\n<li><strong>Flexibilidad.<\/strong> La ingenier&iacute;a de prompts permite hacer ajustes inmediatos y puede adaptarse sobre la marcha a nuevas situaciones. El ajuste fino crea un modelo especializado optimizado para tareas espec&iacute;ficas, pero requiere volver a entrenarlo por completo para otros casos de uso.<\/li>\n\n\n\n<li><strong>Requisitos t&eacute;cnicos.<\/strong> La ingenier&iacute;a de prompts solo requiere creatividad y habilidades para experimentar, no necesitas saber programar ni conocer aprendizaje autom&aacute;tico. El ajuste fino requiere recursos computacionales considerables, experiencia t&eacute;cnica y conjuntos de datos grandes.<\/li>\n\n\n\n<li><strong>Potencial de desempe&ntilde;o<\/strong> La ingenier&iacute;a de prompts est&aacute; limitada por la capacidad humana para formular prompts eficaces y puede toparse con l&iacute;mites de rendimiento. El ajuste fino puede lograr un rendimiento superior al cambiar de manera fundamental c&oacute;mo el modelo procesa la informaci&oacute;n para tu dominio espec&iacute;fico.<\/li>\n<\/ul><p>Para experimentos r&aacute;pidos o tareas puntuales, la ingenier&iacute;a de prompts suele ser la opci&oacute;n m&aacute;s r&aacute;pida. Si tus aplicaciones requieren el m&aacute;ximo rendimiento y cuentas con recursos considerables, el ajuste fino ofrece los resultados m&aacute;s especializados.<\/p><h2 class=\"wp-block-heading\" id=\"h-can-prompt-tuning-be-applied-to-all-ai-models\">&iquest;Se puede aplicar el prompt tuning a todos los modelos de IA?<\/h2><p>El ajuste de prompts funciona mejor con modelos de lenguaje basados en transformadores como GPT, BERT, T5 y arquitecturas similares que procesan texto. Estos modelos est&aacute;n dise&ntilde;ados para que el ajuste de prompts sea efectivo, lo que explica por qu&eacute; la t&eacute;cnica se ha vuelto tan popular en las aplicaciones de IA basadas en texto.<\/p><p>Aun as&iacute;, no es una soluci&oacute;n v&aacute;lida para todos los casos. Las redes neuronales antiguas, los modelos centrados en im&aacute;genes o los sistemas especializados de procesamiento de audio por lo general no pueden usar el prompt tuning de la misma manera. Sin embargo, como los modelos transformadores impulsan hoy en d&iacute;a la mayor&iacute;a de las aplicaciones populares de IA, esta limitaci&oacute;n no afecta a muchos casos de uso reales.<\/p><p>Aqu&iacute; es donde el ajuste de prompts realmente brilla:<\/p><ul class=\"wp-block-list\">\n<li><strong>Modelos de lenguaje grandes.<\/strong> Los modelos m&aacute;s grandes, como GPT-3 y GPT-4, obtienen beneficios impresionantes con el ajuste de prompts. Aqu&iacute; hay una regla general: cuanto m&aacute;s grande sea tu modelo base, m&aacute;s potencial tiene el ajuste de prompts para desbloquear comportamientos especializados sin la complejidad de un reentrenamiento completo.<\/li>\n\n\n\n<li><strong>Tareas de redacci&oacute;n de textos.<\/strong> Ya sea que generes contenido, escribas c&oacute;digo o crees cualquier tipo de texto, el ajuste de prompts suele funcionar sorprendentemente bien. Es especialmente bueno para ense&ntilde;ar a los modelos estilos de escritura concretos, formatos o requisitos del sector.<\/li>\n\n\n\n<li><strong>Clasificaci&oacute;n y an&aacute;lisis. <\/strong>Tareas como clasificar documentos, analizar el sentimiento o comprender textos especializados suelen mejorar de forma significativa con el ajuste de prompts. Esto es especialmente cierto cuando trabajas en &aacute;mbitos especializados con requisitos espec&iacute;ficos.<\/li>\n\n\n\n<li><strong>Inteligencia artificial conversacional.<\/strong> Los chatbots y los asistentes virtuales reciben un gran impulso con el ajuste de prompts. Puedes darles personalidades distintas, ense&ntilde;arles patrones de conversaci&oacute;n espec&iacute;ficos o hacer que sean expertos en temas particulares sin empezar desde cero.<\/li>\n<\/ul><p>La creciente popularidad del ajuste de prompts refleja lo que est&aacute; pasando en todo el mundo de la IA. Las <a href=\"\/mx\/tutoriales\/estadisticas-y-tendencias-de-ia\">estad&iacute;sticas recientes sobre IA<\/a> muestran que las organizaciones buscan de forma activa maneras innovadoras de adaptar los modelos de IA a sus necesidades espec&iacute;ficas, y que m&eacute;todos eficientes como el ajuste de prompts se est&aacute;n convirtiendo en herramientas esenciales para implementar la IA en la pr&aacute;ctica.<\/p><p>Para la mayor&iacute;a de las organizaciones, el ajuste de prompts ofrece una forma accesible de personalizar modelos de IA sin la complejidad de reentrenar los modelos por completo. Y lo m&aacute;s emocionante es que apenas estamos empezando a explorar lo que es posible.<\/p><p>A medida que los modelos se vuelvan m&aacute;s sofisticados y evolucionen las t&eacute;cnicas de prompt tuning, es probable que veamos surgir aplicaciones a&uacute;n m&aacute;s creativas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El ajuste de prompts es una t&eacute;cnica para mejorar el desempe&ntilde;o de los modelos de IA al optimizar vectores entrenables llamados soft prompts. En lugar de reentrenar y modificar todo el modelo, t&uacute; solo trabajas con estos vectores, lo que hace que el modelo sea m&aacute;s eficiente y logre un mejor rendimiento para tus necesidades [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/mx\/tutoriales\/prompt-tuning\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":47368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Prompt tuning: mejora el rendimiento de tu modelo de IA","rank_math_description":"Aprende qu\u00e9 es el prompt tuning, c\u00f3mo funciona y c\u00f3mo mejorar el rendimiento de tu modelo de IA con pasos claros y buenas pr\u00e1cticas.","rank_math_focus_keyword":"prompt tuning","footnotes":""},"categories":[14488],"tags":[],"class_list":["post-47367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hostinger-horizons"],"hreflangs":[{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/prompt-tuning","default":1},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/prompt-tuning","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/prompt-tuning","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/prompt-tuning","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts\/47367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/comments?post=47367"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts\/47367\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/media\/47368"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/media?parent=47367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/categories?post=47367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/tags?post=47367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}