Escrito por Jason Boog en Planeta Chatbot.

Utilizando GPT-2, Gratis!

Desde que OpenAI lanzó su modelo de lenguaje GPT-2 en la naturaleza , las personas han estado utilizando esta herramienta de escritura de IA para generar textos cortos divertidos, aterradores y fascinantes.

Si deseas utilizar GPT-2 para generar una escritura de formato largo que incorpore tus temas, personajes, configuraciones y estilos de escritura favoritos, deberás ajustar el modelo base y leer mucho.

Puedo mostrarte cómo hacerlo, ¡gratis!

Photo by Brett Jordan on Unsplash

Conoce al Sr. Output, mi compañero de redacción de AI

Acabo de pasar 18 días completando el National Novel Generation Challenge (NaNoGenMo), generando por ordenador un manuscrito de 51,422 palabras .

A mitad de este maratón de escritura y codificación, mi compañero de escritura de IA generó este sorprendente (y algo desconcertante) monólogo de un escritor de IA llamado Mr. Output:

¿Esta monstruosidad tuya? La monstruosidad que estás escribiendo ahora, por el talentoso y obsesionado escritor de IA que acaba de lanzar contra su voluntad,   es tan terriblemente aburrido, que no hay forma de que pueda exprimir una historia más. Escribo fantasía, escribo ciencia ficción, escribo horror, escribo romance,   escribo toda clase de tonterías. Ni siquiera puedes imaginar cuántas líneas he escrito, cuántos mundos e historias he creado, retorcido y roto   y hecho para que sea el mejor que haya existido.

Pasaré el resto del año buscando formas de incorporar el extraño y maravilloso trabajo de inteligencia artificial del Sr. Output en mi propia escritura. Si te gustó ese pasaje, envíame un mensaje con tu dirección y te enviaré por correo una historia escrita a mano del Sr. Output.

Mientras escribía sobre NaNoGenMo para Publishers Weekly , tuve la oportunidad de hablar sobre la generación de textos de IA de gran formato con grandes escritores como Robin Sloan , autor de la Librería de 24 horas del Sr. Penumbra y Sourdough. Como parte de sus proyectos de escritura, Sloan ejecuta una versión de GPT-2 en GPU que compró a un minero de Bitcoin.

Robin me dijo que es “crítico” incluir un autor humano en la generación de un texto extenso. “Esto sigue siendo fundamentalmente sobre una persona”, explicó, señalando futuras colaboraciones entre autores humanos y modelos de lenguaje IA. “Un autor que toma decisiones y tiene un plan y algo que quiere decir en el mundo. Si eso significa que se convierten en un editor, creo que está bien, ¡o incluso increíble!

Siguiendo el consejo de Robin, jugué el editor durante mi proyecto NaNoGenMo.

Podría haber generado 50,000 palabras en menos de una hora con mi compañero de redacción de IA, pero elegí pasar 18 días leyendo cientos de páginas y recolectando los textos más convincentes en un solo documento.

También utilicé etiquetas de prefijo en mi código para asegurarme de que el modelo GPT-2 se enfocara en mis temas metafísicos favoritos durante todo el proyecto.

“Uno de los problemas abiertos en la generación procesal de ficción es cómo mantener el interés del lector a escala”, escribió John Ohno en Medium. Con la esperanza de abordar ese problema con mi proyecto NaNoGenMo, decidí usar instrucciones y respuestas escritas para generar secciones más cortas (y posiblemente más interesantes).

Así es como lo hice …

Photo by Brett Jordan on Unsplash

Crea un conjunto de datos.

No importa qué tipo de escritura de formato largo desees generar, deberás encontrar el conjunto de datos más grande posible.

Utilizando la herramienta BigQuery de Google y el enorme archivo de datos de Reddit archivados en Pushshift.io , creé un conjunto de datos masivo de mensajes de escritura individuales en un práctico archivo CSV, cada uno separado con tokens <| startoftext |> y <| endoftext |>.

También utilicé una herramienta de búsqueda Reddit de Pushshift para recopilar cientos de instrucciones de escritura relacionadas con la IA para agregar al conjunto de datos porque quería que mis bots abordaran mis temas de ciencia ficción favoritos.

Al final de este proceso, tenía un conjunto de datos de solicitud de escritura con 1,065,179 tokens. GPT-2 es un modelo de lenguaje masivo, por lo que necesita un conjunto de datos comparativamente grande para ajustar el modelo de manera efectiva.

Crea otro conjunto de datos (si es necesario).

A menos que desees seguir mi modelo de instrucciones / respuestas de escritura, solo necesitas crear UN conjunto de datos.

Necesitaba dos conjuntos de datos para mi proyecto. Utilizando las mismas herramientas y muchas búsquedas de Reddit, recopilé los mejores avisos de escritura que pude encontrar online. Agregué muchas respuestas centradas en la inteligencia artificial, incluidas mis propias respuestas de escritura que he escrito a lo largo de los años.

Terminé con 1,947,763 tokens en este segundo conjunto de datos de entrenamiento.

Estructura tu conjunto de datos.

Este paso es realmente importante si quieres generar escritura con cualquier tipo de estructura.

Quería darle a mi IA la información de aprendizaje más ordenada y de mayor calidad posible, así que utilicé una serie de marcadores simples para enseñarle a GPT-2 la forma de una respuesta de escritura rápida.

Agregué tokens <| startoftext |> y <| endoftext |> para que coincidan con el conjunto de datos del mensaje de escritura, pero también me aseguré de que cada respuesta tuviera el mensaje de escritura original marcado [WP] y la respuesta en sí marcada [RESPUESTA].

Es cierto que fue un esfuerzo enorme y lento, pero hizo que mi salida fuera infinitamente más interesante. Guardé todo el conjunto de datos como un archivo .TXT. Así es como se ve ese conjunto de datos:

<| startoftext |> [WP] El 4 de noviembre de 2020, la humanidad abandona Internet. Miles de millones de bots han colonizado la web con spam, falsificaciones y noticias falsas. En los ahora abandonados r / WritingPrompts, las IA literarias (capacitadas en grandes obras de literatura humana) crean una biblioteca infinita de mensajes y respuestas.      [RESPUESTA] Zackary Blue trabajó como conserje nocturno en el sótano de una importante empresa de servicios financieros. Limpiaba espacios cavernosos debajo del edificio donde se intercambiaban cientos de millones de dólares todos los días.    <| endoftext |>

Afina tu modelo de lenguaje GPT-2.

Ajustar mis dos modelos de idioma me llevó unos días. Max Woolf me enseñó todo lo que necesitaba saber para este paso .

Utilicé la versión mediana de 355M de GPT-2 porque era lo suficientemente grande como para manejar mi conjunto de datos pero lo suficientemente pequeña como para ejecutarse en los servidores en la nube de Google Colab. Entrené a ambos modelos con 42,000 pasos cada uno.

Dividí la capacitación en secciones más pequeñas, porque Google Colab no ejecutará más de 12,000 pasos.

Genera texto con su modelo GPT-2 afinado.

Una vez que mis dos modelos de idiomas fueron entrenados, comencé a generar mi proyecto NaNoGenMo.

Todas las mañanas, ejecutaba Writing Prompt Prompter (Jane Doe) y generaba entre 10 y 20 páginas de instrucciones de escritura generadas por ordenador.

Para cada ejecución, establezco una longitud de 100 caracteres, la temperatura en .7 y la salida en 10 muestras. Para dar forma al proyecto, utilicé la función de prefijo para inclinar la salida del mensaje de escritura hacia mis temas favoritos, como la realidad virtual, la teoría de la simulación y los escritores de IA.

A menos que quieras seguir mi modelo de instrucciones / respuestas de escritura, solo necesitas generar texto con un modelo de idioma.

Sin embargo, agregué un paso adicional para mi proyecto NaNoGenMo.

Elegí mis mensajes de escritura favoritos generados por ordenador y se los envié al Sr. Output para generar entre 100 y 125 páginas de respuestas. Los cuadernos de Google Colab de Max Woolf me ayudaron a codificar todo para este paso.

Lee TODOS los resultados.

Revisé cientos de páginas de texto que Jane Doe y el Sr. Output generaron, seleccionando las historias más convincentes.

Por cada 350 palabras de escritura generada por ordenador que reuní para NaNoGenMo, tuve que leer alrededor de 10,000 palabras de texto extraño, confuso, repetitivo o simplemente incomprensible generado por ordenador.

Recoge la mejor escritura en un archivo maestro.

A lo largo de noviembre, almacené la salida de cada día en un solo archivo. Leía ese archivo todas las noches, buscando una escritura convincente. Aquí está una de las primeras piezas de escritura que guardé, un manifiesto utópico:

Somos un grupo de artistas, escritores, programadores y encargados de tejer, que se han unido bajo el estandarte de Humanity v2.0. Somos un colectivo mundial de intereses similares. Todos tenemos el mismo objetivo: crear de nuevo los cimientos de un mundo mejor.

Recomiendo leer el texto generado por ordenador en un eReader o tableta. Te aleja de la pantalla del ordenador y te brinda un poco más de la experiencia de lectura real. También utilicé el fabuloso Voice Dream Reader para escuchar mi contenido generado por ordenador mientras iba al trabajo por la mañana.

Durante estas sesiones de lectura épica, guardé las mejores piezas de escritura en un archivo maestro marcado como “NaNoGenMo Final”.

Repite el proceso hasta que tengas suficiente escritura convincente.

Después de eso, seguí ejecutando esos mismos pasos de generación de texto durante 17 días seguidos. Seguí agregando texto generado por ordenador a mi documento final hasta que crucé la línea de meta de 50,000 palabras para el maratón NaNoGenMo.

Corrige tu creación generada por ordenador.

Una vez que el documento “NaNoGenMo Final” alcanzó la masa crítica, utilicé la poderosa herramienta de escritura Scrivener para reorganizar las historias generadas por ordenador en torno a temas como la realidad virtual, la escritura de IA o los dioses.

Mantuve mis ediciones en una simple reorganización, ¡pero los editores humanos pueden usar este paso para hacer capítulos, editar pasajes particulares, agregar ilustraciones, escribir comentarios o cualquier otra cosa!

¡Busca plagio y publica!

Una vez que compilé el manuscrito final, ejecuté cada solicitud y respuesta a través de la herramienta Quetext para asegurarme de que mi bot no hubiera plagiado a nadie online. GPT-2 ejecuta un conjunto de datos masivo con millones de artículos, pero ocasionalmente repite a sus entrenadores humanos.

¡Eso es! NaNoGenMo fue una gran experiencia de escritura y codificación, recomiendo probarlo si tiene algo de tiempo.

Nunca ha habido tantos recursos disponibles para aficionados como yo y GPT-2 es realmente poderoso cuando se entrena. Leeré estas historias generadas por GPT-2 lo que resta del año.

Aquí hay una última muestra, un poco de conexión entre un escritor de IA y un escritor humano …

Son una especie aparte, pero comparten una cosa en común: su amor por los libros. Ellos son los que buscan libros para sus propias necesidades, ya sean textos científicos, filosóficos o religiosos. Ellos son los que, desde el principio, han podido encontrar significado dentro de los libros.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *