OpenAI publicó recientemente en forma de beta la API de su último modelo de lenguaje, GPT-3. Con esta herramienta algunos desarrolladores han comenzado a mostrar de qué es capaz esta plataforma capaz de generar contenido con tan sólo darle órdenes en inglés y de forma comprensible por cualquiera. Por ejemplo, "crea una web con siete botones con los colores del arcoíris" generará exactamente el código HTML de una web con siete botones de diferentes colores.
|
etiquetas: conversar , gpt-3 , lenguaje , openai , capaz , programar , diseñar
se abre una nueva era respecto a cómo vamos a interactuar con el conocimiento y la información. Eso si seguimos vivos ...
Cuando pongo a entrenar un BERT a leerse la wikipedia en cantonés, el coste de "carga y bla bla bla" que tengo es "ok, aquí está el scrapper de la wikipedia, subo esto... ale a entrenar" que son unas 3 horas de preparar. Una vez arriba, tarda 3 semanitas en entrenar. ¿Qué crees que hago en esas tres semanas? ¿Mirar cada minuto el board para ver cómo va convergiendo y reduciendo el loss? No, no hago nada, me dedico a otras cosas.
La única vez que tuve un sobrecoste fuerte fue por culpa del puto español, entrenando un tacotron2 a aprender a hablar en español a partir de audiolibros, me olvidé de la ñ, tras dos semanas entrenando y haciendo pruebas con frases que no contenían ñ parecía que todo bien... y cuando terminó de entrenar y probé con la frase "estos niños deberían estar jugando a la pelota" y la voz dijo "estos ninos deberían estar jugando a la pelota" se me pusieron los ojos en blanco y a tomar por culo 2 semanas perdidas. No me vuelve a pasar, también te lo digo.
Lo uso para industria. Si contratas un servicio de TTS de cualquiera de las grandes, ninguna de ellas te ofrece en español ni siquiera un nivel "wavenet", ni siquiera google, ya puedes pretender pagar lo que quieras que no lo tienen. Así que o te vas a algún proveedor local y te van a cobrar una pasta, o te dejas 1200€ y entrenas tu propia voz. Además, la voz es parte del branding de las empresas: que tengas la misma voz que tus competidores es contraproducente. Para cada país/región se hace un análisis de qué tipo de voz es más agradable o válida según varios criterios, así que una vez que entrenas tu Tacotron2 para el TTS, puedes afinarlo para que tenga la voz que tú quieras (clonas la voz de una persona real), y ese afinamiento es casi inmediato de entrenar.
Por otro lado, en cuanto a NLP, te puedo asegurar que no hay en el mercado ningún NLP suficientemente bueno en cuanto a precisión excepto Watson... Y es mejor hacer el tuyo propio, es bastante fácil
Y ojo, que luego en la parte más técnica estoy más de acuerdo contigo, creo que el otro usuario se ha confundido, pero no son formas de decirlo, él simplemente intentaba hacer ver que hay otro tipo de costes según el tipo de empresa, caso de uso, etc.
Y por cierto, si gastaste 2 semanas en lo de la "ñ" es por no dividir bien el dataset en entrenamiento, test y validación. si lo divides bien la "ñ" debería haber entrado en entrenamiento y responder correctamente ante ella en validación. Hay que tener una estrategia para dividir los datos de forma correcta y repetible, no puede ser algo humano del tipo "que no se me olvide de poner la ñ"
Nota: No estoy ni en contra de la automatización ni culpabilizando a los informáticos (entre los que me incluyo) de nada. Sólo describo una realidad.
lambdalabs.com/blog/demystifying-gpt-3/
De todas maneras le pasa lo mismo que a BERT, normalmente no te gastas el dinero que cuesta entrenarlo sino que aprovechas modelos pre-entrenados y "ajustas" (fine tunning) los tuyos con transfer learning.
P.D.: no soy un friki que programa, pero a él se le oía a leguas a "consultora" de los que vienen a venderte la moto y tratan de colarte "expertos". Y tengo ya el culo pelado de esa gente, o de que intenten colarme juniors como seniors para tener una tarifa más elevada.
Pero si es un NLP para intent classification, dialogflow sucks Yo tengo mi propio NLP opensource, lo usan 15.000 proyectos actualmente, algún banco, aseguradora, transporte,... Y ya te confirmo que las métricas mucho mejor que Dialogflow.... el problema de las cajas negras es que no son tuneables y que "good enough" es todo lo que buscan porque llegar a "very good" cuesta dinero y trabajo... así que ahí se quedan. Mejor el tuyo propio.
esto es un comando de voz
Un artículo muy interesante:
venturebeat.com/2020/06/01/ai-machine-learning-openai-gpt-3-size-isnt-
El del link que yo puse no detallan costes, pero me imagino que tomaran en cuenta mas cosas que solo hardware. Al fin y al cabo el valor de algo no es únicamente el coste de sus servidores. Diseñar la carga, ejecución, pruebas, reajustes, gastos operacionales, etc. no tiene un coste 0 nunca. Muchas veces excede el coste de los servidores en si...
Ya solo poniendo 3 años de aprovisionamiento, te debería chirriar: si necesitas un pico de potencia durante 3 semanas, vas a contratarla durante 3 años? Si después usas una mínima parte para su operativa, puede que no te sea rentable (o sí, si tienes más proyectos que usen esa potencia, depende).
Como sea, veo que sigues sin ver más costes y creo que flaqueas en eso.
Para tí preparar la carga es solo "hacer un scraping" de 3 horas y ya está.
No es solo hacer un scraping de 3 horas, es pensar en todas las pruebas, implementarlas, etc. Y luego una vez terminado, ¿acaso no dedicas tiempo a verificar las cosas (lo que has comentado de los "niños"? Aun cuando sean "automáticos", ¿no has dedicado horas a preparar esos tests? ¿A cuanto cobras la hora? 0€? No creo.
Es más, ¿acaso no hay auténticos ejércitos de miles de indios/chinos/etc revisando, corrigiendo y entrenando las distintas IAs que hay en producción? Ese coste, por muy barato que sea, ¿es 0€?
Deberías intentar "medir" esas horas que dedicas y que ahora das por sentado, te llevarías una sorpresa.
Pero medirlas bien, no ponerte ahora a pensar y decir "pues una hora aquí y otra hora allí"... no, medirlo "de verdad", porque inconscientemente te dejarás cosas o le darás menos tiempo del que realmente es.
A un compañero le pasó hace poco, el decía que "en una semana estaba". Yo le dije que calculara también otras cosas que asumía y no metía en el análisis. El decía que era tan poco que ni lo tenía en cuenta. Le dije que todo, absolutamente todo lo midiera en los JIRAs.
3 semanas después estaba completo. 1 semana y media se lo pasó en hacer lo que el decía (bien) y otra semana y media en cosas que daba por sentado pero que eran necesarias y le atribuyó 0 horas. Casi nada
Es una pena esa actitud que tienes, de "yo tengo la verdad absoluta y los demás sois unos cuñados".
No creo que te vaya muy bien en la vida si eres así en la vida real con esa "superioridad" que crees tener.
Adios, no pienso contestarte más.
Es que precisamente, aunque solo haya un 0.31% de ñ debería tener una muestra importante y detectar que para ese tipo de valores (la "ñ") siempre da un error frente a lo esperado (la pronunciación de la "ñ" en el audiolibro). No se si usas Tensorflow y con el board te refieres a Tensorboard, pero estos problemas tengo entendido que si se pueden ver. Lo que veo es que esto lo aplicas a otros modelos más "peliagudos" como probabilidad de fraude en tarjetas de crédito y resulta que todas las que terminan en 00 (un porcentaje pequeño) siempre las da por buenas, debería cantar.
Por otro lado, estás usando el tacotron para experimentos o te dedicas a investigación? entiendo que NLP, Text-to-speech, etc. a nivel "industria" no los utilizas, si no que utilizas los servicios que ya te ofrece alguien como Google o Amazon, no le veo mucha aplicación a meterte por ejemplo en las tripas de NLP frente a usar el de otros. Esto es una pregunta como curiosidad, que no digo que no tenga su sentido.
Y lo del audio exacto también lo entiendo, pero la "n" y la "ñ" se pronuncian de forma muy diferente, entiendo que entrenando con un audio, si falla entre la "n" y la "ñ" se equivocaría antes entre la "c" y la "d" y muchas otras, que están más próximas en espectro sonoro. Si te calcula mal el error entre "n" y "ñ" entonces te lo calcula mal para muchas otras. Solo veo el problema que tu dices, de que "ñ" tiene poca frecuencia, pero eso se soluciona con más data y con mejor distribución, buscando datos hasta tener para todos los fonemas una muestra lo suficientemente grande como para poder entrenar con fiabilidad.
Lo del TTS lo entiendo, pero el NLP no, por lo menos para los casos de usos estándar, tipo topic extraction o sentiment analysis. El de IBM como bien dices está genial (llevan mucho tiempo en esto), pero Google creo que se lo terminará zampando con patatas por el enorme interés que tienen y la cantidad de beneficio que les puede reportar a su negocio. Se que hacer tu propio NLP es fácil, pero teniendo en cuenta que el dominio es el mismo (un lenguaje como el español) no le veo sentido, Google siempre va a tener más dato y los modelos más tuneados por la cantidad de recursos que tiene. Donde siempre le va a ganar un modelo propio a google, por poner un ejemplo, es en la predicción de compra de una tienda online, por ejemplo, porque cada tienda tiene su tipología de clientes, pero sin embargo todas las tiendas usan el mismo idioma inglés, el mismo español, etc. Puedo verle algo de sentido a tener un NLP entrenando con todo lo que escribes tu, y que prediga si estás cabreado, etc. porque cada uno tenemos nuestra forma particular de expresar sentimientos por escrito... le veo sentido, pero no aplicación práctica.
En cuanto a un chatbot: si, estoy de acuerdo en que hay mucho fine tuning que hacer y es muy dependiente del dominio (lo mismo que lo que comentaba de predecir compra en un retail), pero en otras áreas o para empezar no va mal ir poco a poco y "comprar" antes que "construir". Yo he visto muchos casos de éxito en los que con BigQueryML, por ejemplo, empiezas a hacer tus pinitos, obtienes unos resultados decentes para conseguir más presupuesto y luego ya pasas a algo más complejo en Tensorflow.
Pero bueno, que interesante todo lo hablado, si no te importa pasarme tu NLP opensource quizá me plantee usarlo, se ve que controlas del tema, tengo que hacer algunas propuestas al respecto y podría ser útil.
Saludos.
Tú no has entrenado un modelo de IA en tu puta vida y vienes aquí con tus ínfulas de consultor....
Ale, ponte tu trajecito y tu corbatita y a cuñadear a Parla
Pues no la llevas. Así que el de los aires de superioridad y el que no sabe recoger cuerda eres tú. Te va a ir mal con esos aires de superioridad
P.D: Cuando una la caga y no sabe de un tema, lo mejor es retirarse tío, la has cagado pero bien, has metido la pata tan hasta el fondo del hoyo que tienes los huevos aplastado contra el borde... Retírate bro