Transcripciones
1. Prod ready: Y si te dijera, en lugar de gastar decenas de
miles de dólares para que alguien conteste preguntas de
tu cliente 8 horas al día, cinco días a la semana,
en la siguiente 1 hora, podrías aprender
a construir un chatbot utilizando la potencia de los modelos de
lenguaje grandes para hacer lo mismo con
mayor precisión y
hacerlo las 24 horas del día, siete días de la semana, los
365 días del año Soy el Profesor Reza, y doy clases a estudiantes de
pregrado y
posgrado
temas de informática e inteligencia
artificial. También tengo miles de estudiantes
en línea que
investigo sobre IA, y he colaborado con prestigiosos institutos
como MIT Media Lab, Carnegienon University,
Harvard University y University of
California, San Diego Y esos trabajos
fueron publicados en recintos como ACM
y Spring Nature Voy a usar toda esa experiencia y todo lo
demás que he aprendido hasta ahora para ayudarte a entender cómo
puedes usar modelos de
idiomas grandes para construir un lugar de
chat de servicio al cliente que
te ayude a responder las preguntas de tus clientes
en cualquier momento del día. En la siguiente hora, vamos a repasar qué son los modelos de
lenguaje grande, y vamos a
hablar de muchos temas
diferentes que
están relacionados con él, como PNETEngineering y ética del uso de modelos de lenguaje grande Estaré hablando diferentes plataformas que
van a ser muy útiles para cualquier desarrollador de aplicaciones
o cualquiera que quiera
aprender a desarrollar aplicaciones con
grandes modelos de lenguaje. Vamos a
hablar de plataformas como abrazar la cara y tecnologías como la radio para hacer
interfaces fáciles para el programa Python Y lo vigilaré
a través de todos los pasos para crear un
chatbot basado en LLM que pueda obtener datos de sus
documentos comerciales y responder cualquier pregunta que sus clientes crear un
chatbot basado en LLM que pueda
obtener datos de sus
documentos comerciales y responder a
cualquier pregunta que sus clientes
puedan tener. ¿Te interesa? Así que únete a mí en el siguiente video,
y te diré cómo.
2. Lección1Video1: explora las ventajas y aplicaciones de LLM: En este video,
exploraremos qué son los modelos de lenguaje
grande y cómo funcionan. Al final de este video, aprenderá las capacidades
y beneficios clave de las LLM, así
como algunas aplicaciones
notables LLM son un tipo de modelo de
aprendizaje profundo que se entrenan en conjuntos de datos de
texturas masivas Entonces están afinados
para tareas específicas. Se les llama grandes debido a dos
de sus
características clave. Una es que se les capacita sobre una enorme cantidad de datos
en la escala de ptabtes Esto les da un amplio
conocimiento de idiomas. Y dos, tienen una gran
cantidad de parámetros. Estamos hablando de
billones de parámetros. Esto les da una fuerte
capacidad de razonamiento, incluida la
comprensión del lenguaje y la generación. En pocas palabras, su extenso entrenamiento previo
complementado con ajuste fino específico de
tareas los convierte sistemas de IA
increíblemente versátiles y
potentes Los LLM pasan por dos etapas principales. Una formación previa
al modelo ingiere conjuntos de datos
masivos y diversos como
Wikipedia o Common Crawl, para construir una amplia
comprensión del lenguaje Dos afinación fina. Luego, el modelo preentrenado
se personaliza para aplicaciones
específicas usando conjuntos de datos específicos de campo
más pequeños. Este proceso de twister permite a los
LLM obtener tanto conocimientos
blancos de su preentrenamiento
general como precisión especializada partir de su afinación fina Ahora vamos a explorar algunos de los principales beneficios y
capacidades de las LLM Uno, pueden entender lenguajes de
matiz y generar textos notablemente humanos. Dos, sobresalen en
tareas como traducción,
resumen, análisis de
sentimientos y respuesta a preguntas Tres,
se pueden afinar para tareas
específicas solo mediante la
capacitación en un pequeño conjunto de datos. Cuatro, mejoran más datos y tamaños de modelo
más grandes. Y cinco, a través de sus capacidades
generativas, hacen que la IA sea más
accesible incluso para individuos con conocimientos
técnicos limitados LLM son las nuevas potencias que pueden transformar
diversas industrias Veamos algunos ejemplos. En el cuidado de la salud, se
pueden utilizar para extraer información de registros
médicos o trabajos de
investigación. En educación, son
capaces de brindar tutoría
personalizada y
retroalimentación para los estudiantes En finanzas, puede usar LLM para analizar informes de ganancias
y predecir tendencias del mercado Y en el entretenimiento, los
LLM nos ayudan a generar contenido creativo
como historias o incluso guiones Y por último pero no
menos importante, en retail, se
pueden utilizar
para recomendar productos basados en
datos y reseñas de clientes Hay muchas
posibilidades emocionantes por delante medida que
los LLM
continúan evolucionando Su versatilidad permite aplicaciones
innovadoras de IA
en diferentes sectores En conclusión, los modelos de
lenguaje grande representan una revolución
en las capacidades de IA. Su
preentrenamiento masivo a escala, seguido de una afinación
especializada los
empodera con habilidades
lingüísticas excepcionales Esto está permitiendo impactos
transformadores en las industrias, desde las
finanzas hasta la educación A medida que estos modelos se vuelven
aún más potentes, el futuro se ve brillante para democratizar la IA
a través de modelos versátiles aceptables de
lenguaje grande
3. L1V2: comprensión de la ingeniería rápida: Este video explorará la ingeniería
rápida, su papel en la utilización de LLM y cómo incitar de
manera efectiva y responsable Al final de este video, conocerás
los diferentes tipos de prompts y métodos
de optimización, así
como sus limitaciones Primero, ¿qué es exactamente la ingeniería
rápida? Se refiere a la optimización
estratégica de los prompts que
alimentamos a los sistemas de IA Esto lo hacemos con el objetivo de
mejorar el rendimiento
de estos modelos. La ingeniería rápida emplea técnicas
especializadas para producir los
resultados más precisos, relevantes y útiles posibles. La ingeniería rápida consiste comunicar claramente nuestra
intención. Las indicaciones juegan un papel crucial
en la configuración del comportamiento de un
sistema de IA Podemos verlos como
la interfaz entre nosotros y los modelos de IA para ayudarnos a comunicar
claramente
nuestras intenciones y dar indicaciones
al modelo. Puede preguntar por qué es importante la
ingeniería rápida. Bueno, sin la incitación
estratégica, los modelos tienen que interpretar instrucciones
ambiguas o vagas Esto corre el riesgo de salidas inútiles o
incluso peligrosas. Por otro lado, las indicaciones
cuidadosamente diseñadas permiten un control
más preciso para aprovechar la IA. También es posible que haya escuchado
el término diseño rápido. Existe una
diferencia importante entre el diseño
rápido y la ingeniería
rápida. El diseño rápido implica
adaptar las indicaciones a tareas
específicas como la
traducción o ingeniería rápida utiliza estrategias
especializadas para optimizar el rendimiento del
modelo. Puedo incluir técnicas
como terminología de dominio, palabras clave
efectivas,
ejemplos y otras técnicas para aumentar la precisión y
relevancia del modelo. Ahora veamos algunos tipos
diferentes de indicaciones. Instrucción que incita. Estas son indicaciones
directivas sencillas. Por ejemplo, resumir
brevemente este texto o traducir el
pasaje al francés También hay indicaciones de palabras clave, que incluye el
uso de señales útiles Por ejemplo, por favor
explique los eventos clave en el
orden en que ocurrieron. También hay indicaciones de dominio. Utiliza conocimientos
específicos de dominio y terminología
técnica. Por ejemplo, diagnosticar este caso médico usando lenguaje
clínico, o valorar este contrato legal utilizando
marcos y términos legales. También tenemos protagonismo de roles. Este tipo de incitación dirige al modelo a adoptar una persona Por ejemplo, responder como
economista experto. Cadena de incitación al pensamiento. Descompone un prompt complejo en un conjunto lógico
de acciones o tareas. Por ejemplo, resuma brevemente
los puntos clave del artículo. Luego explicar la perspectiva del
autor. Por último, proporcione su análisis
crítico. También hemos disparado prompting. solicitud de disparo proporciona configuración
contextual antes de la solicitud real Tenemos tiro cero, un disparo, y pocos
disparos que incitan. En las indicaciones de tiro cero, no
proporcionamos ningún ejemplo Por ejemplo, escribir un poema
corto sobre la naturaleza. En una toma incitación, se da
un ejemplo Por ejemplo, aquí hay un poema
corto sobre árboles, y luego proporcionamos
un poema corto. Entonces continuamos ahora escribiendo un
breve poema sobre el océano. En fus shot prompting, se proporcionan múltiples ejemplos Por ejemplo, aquí hay dos poemas
cortos sobre el clima, y luego seguimos adelante y proporcionamos dos
poemas cortos a la modelo. Entonces continuamos. Ahora escribe un
poema corto sobre la nieve. FusiaMPTING es una técnica poderosa. Los LLM son bastante buenos para
seguir patrones. En realidad, tengo
una amiga que estaba alimentando a Claude con su vieja poesía, y le estaba pidiendo que escribiera poemas en su
propio estilo único. Ella quedó bastante impresionada por ello. Entonces, si también te gusta
usar IA para poesía, probablemente
deberías echarle un
vistazo a Claude. Una buena ingeniería rápida puede
darnos mucha potencia, y con gran poder viene
una gran responsabilidad. Entonces echemos un vistazo a algunas de las prácticas responsables y
éticas en la ingeniería rápida. Considerar posibles sesgos
y limitaciones de los LLM. Validar resultados de alto riesgo como información legal o
médica. Estos deben ser validados
con expertos en la materia. Asegúrese de iterar
cuidadosamente para
optimizar las indicaciones
antes No queremos llevar una app a etapa de
producción antes de
probarla correctamente. Obviamente, la
ingeniería rápida viene con su propio conjunto de limitaciones. Veamos cuáles son algunas de
estas limitaciones. Primero, la ingeniería rápida no
es una bala de plata. Por ejemplo, no puede
protegernos contra todos los
comportamientos modelo impredecibles que aún pueden ocurrir. En segundo lugar, incluso con
las mejores indicaciones, algunas tareas podrían estar más allá de las
capacidades del modelo También debemos recordar, para optimizar el prompt, debemos entender el modelo. Es muy difícil llegar a un modelo eficiente
si no sabemos cómo funciona
el modelo y qué tipo de prompt funciona
mejor para ese modelo. Y por último, pero no menos importante, no importa cuán bien
diseñados estén nuestros prompts, las salidas aún requieren la validación humana
final, especialmente para los campos de alto
riesgo En conclusión, la ingeniería
rápida estratégica nos
permite dirigir mejor los sistemas de
IA y desbloquear su potencial al tiempo que
incita de manera responsable Reconocer tanto el
poder como las limitaciones de la ingeniería
rápida nos
permite incitar manera efectiva, responsable
y ética
4. L1V3: cómo se implementan los LLM: En este video, exploraremos cómo se implementan
los modelos de lenguaje de gran tamaño. Al final de este video, aprenderás en qué
se diferencia el desarrollo de
LLM del aprendizaje
automático tradicional Examine los tres tipos
diferentes de LLM y discuta el concepto de razonamiento de la cadena de pensamiento para
diseñar mejores indicaciones de LLM Bien, vamos a bucear más profundo. aprendizaje automático tradicional El aprendizaje automático tradicional implica una amplia experiencia
técnica, datos
masivos de capacitación, capacitación de modelos
complejos y algunos conocimientos de hardware para la administración de
recursos informáticos. En cambio, el desarrollo de LLM
se centra en la elaboración de indicaciones efectivas,
sin necesidad de formación técnica La atención se centra en
indicaciones claras, concisas e informativas, más que en los detalles y matices del diseño y la capacitación del
modelo Hay tres categorías
primarias de LLM en función de
su funcionalidad,
genérica, instrucción
afinada y dialecto Modelos genéricos de lenguaje. Estos modelos
predicen las palabras subsiguientes como una función de autocompletar Sus predicciones
se basan puramente en patrones
lingüísticos que
encuentran en sus datos de entrenamiento. Los modelos sintonizados con instrucciones
generan respuestas basadas en instrucciones específicas incrustadas en las indicaciones de entrada Pueden resumir,
componer poesía, analizar sentimientos,
y mucho más Los modelos sintonizados con dialecto son subconjuntos especializados de LLM enfocados en interacciones
conversacionales, algo que comúnmente
vemos Este es el tipo de LLM que elegí para hacer una demostración en este curso Un concepto interesante en LLM es el razonamiento de la cadena de
pensamiento En el razonamiento de la cadena de pensamiento, el modelo genera
una cadena de razonamiento antes de concluir y
dar una respuesta. Es similar a cómo
descomponemos un problema en trozos más pequeños
para poder entenderlo mejor. Para tener una mejor idea, vamos a pedir un
ejemplo a Chat GPT Entonces seguí adelante y
le pregunté a CHAT GPT. Dame un ejemplo
de cómo un LLM puede procesar un prompt complejo usando el razonamiento de la cadena de
pensamiento Esta es la respuesta
que brindó. Entonces lo rápido es, imagina una ciudad donde todos los edificios estén hechos de material
transparente. Cómo afectaría esto la
vida de las personas que allí viven, el consumo
de energía de los edificios y el diseño urbano general. Entonces esto es lo que
pasaría en el fondo. El LLM rompería
el problema en pedazos
más pequeños y trataría mirarlo desde una perspectiva
diferente Para este ejemplo, podría
ser la relación entre edificios
transparentes
y privacidad o consumo de luz y energía, o estética y atmósfera
urbana, o seguridad y protección. Entonces, después de considerar
todas estas perspectivas, el modelo sigue adelante y
produce una respuesta final. En este ejemplo, el LLM descompone el prompt
en diferentes aspectos, por
ejemplo, privacidad, consumo de
energía,
estética y seguridad Luego analiza los efectos en las personas y el
diseño urbano para cada aspecto, y finalmente combina
toda esta información para brindar una respuesta
integral. Ahora veamos algunas consideraciones clave para
elaborar indicaciones LLM efectivas Las indicaciones del marco son instrucciones claras y
concisas adaptadas al modelo Aproveche las
fortalezas y limitaciones de los modelos. Comience con indicaciones simples, aumente la
complejidad gradualmente y siga experimentando para aprender frases
óptimas y
estructuras que En conclusión,
el desarrollo de LLM es diferente del aprendizaje automático
tradicional al priorizar las indicaciones
bien diseñadas sobre Los LLM vienen en tres variedades
principales,
genérica, instrucción
afinada y dialecto Y es importante saber que conceptos como el razonamiento
de cadena de pensamiento mejoran las capacidades de LLM
para generar respuestas
más precisas y
coherentes trabajando
sistemáticamente
a través de los pasos de un problema o argumento
5. L1V4: qué significa la producción lista: En este video, exploraremos
los componentes críticos para desarrollar una aplicación basada en LLM
lista para producción,
una aplicación con confiabilidad
y escalabilidad del mundo
real Al final de este video, aprenderá sobre el rendimiento, el
escalado, la confiabilidad
y la seguridad de las
aplicaciones . La implementación de aplicaciones con tecnología LLM requiere más que
solo la IA misma. Para construir aplicaciones LLM
listas para la producción, ciertas prácticas clave
son cruciales Primero, la aplicación
necesita ser eficiente. Esto significa que puede manejar el tráfico
y el uso del mundo
real sin
ralentizar o estrellarse Las pruebas de estrés de la
aplicación desde el principio nos ayudan a simular un alto uso y a encontrar cuellos de botella en
el rendimiento En segundo lugar, es la escalabilidad. La infraestructura
debe escalar hacia arriba o hacia abajo automáticamente en
función de la demanda. El uso de alojamiento en la nube y contenedores permite
escalar rápidamente las aplicaciones. Tercero, la app debe ser
confiable y estable. Debe haber
pruebas exhaustivas para atrapar pantanos, además de monitoreo en
producción para rastrear choques Un robusto sistema de manejo de errores garantiza que la aplicación
maneje con gracia cualquier falla. Cuarto es la facilidad de
implementación y actualizaciones. Por ejemplo, las tuberías automatizadas permiten implementaciones rápidas y
repetibles El quinto es la visibilidad operativa. Podemos hacerlo a través de
métricas y registros. Estos registros nos dan una idea los patrones de uso y errores. Y por último, la seguridad es imprescindible. Los datos deben ser encriptados
y controlados de acceso. Pruebas como
pruebas de vulnerabilidad, identificar riesgos y protecciones como
limitar la tasa defienden contra ataques. La
plataforma de fase Hugging proporciona muchas de estas capacidades
listas para usar, lo
que facilita la creación de aplicaciones listas para
la producción Los modelos de cara abrazada están optimizados para el rendimiento
y la escalabilidad La API de inferencia maneja los picos de
tráfico con gracia y las características de seguridad como autenticación y el
cifrado están integradas Y por eso ejecutamos la demo para el discurso
sobre Hugging pase En conclusión, seguir las mejores
prácticas de implementación da como resultado una aplicación con tecnología LLM
que es eficiente, escalable, confiable, implementable,
observable Esto requiere esfuerzos de
ingeniería adicionales, pero es esencial para la preparación de la producción en
el mundo real. Y con una ingeniería diligente y plataformas como Hugging Face, la IA lista para
la producción
está al alcance
6. L2V1: familiarízate con la plataforma HuggingFace: En este video, voy a hablar sobre la plataforma Hugging
Face Hugging Face es una
comunidad como Github, pero para desarrolladores de IA Su producto más notable
es la biblioteca Transformers. Estas bibliotecas proporcionan muchas funcionalidades diferentes
como clasificación, traducción y respuesta a
preguntas. También hay muchos modelos
aportados por el usuario que se
pueden utilizar para la generación de imágenes, videos y sonido. Hugging face es una plataforma de código
abierto, lo que significa que desarrolladores
de todo el mundo pueden contribuir a estos
modelos y conjuntos de datos, y pueden mejorar
todas estas nuevas tecnologías de IA
que están disponibles ahora Con este enfoque, Huggingface
está bajando la barrera de entrada
para el desarrollo Por lo que hay tres
componentes diferentes en la cara de abrazo, que son distintos pero
también interconectados Entonces tenemos modelos. Tenemos
conjuntos de datos, y tenemos espacios. Echemos un vistazo a los modelos. Entonces, estos modelos son modelos preentrenados de aprendizaje automático
y grandes lenguajes, que los usuarios pueden clonar
en su propio espacio de trabajo, y pueden personalizarlo
o incluso mejorarlo. También hay un repositorio
de conjuntos de datos que se utiliza para entrenar y
evaluar los modelos. Los usuarios también pueden contribuir y agregar sus propios conjuntos de datos
a la plataforma. Tenemos espacios que son relativamente más nuevos además de
la plataforma Hugging face Mediante espacios, los usuarios pueden crear, compartir y explorar aplicaciones
web interactivas. Estos espacios proporcionan la
capacidad de interactuar tiempo
real con los modelos que están disponibles
en la cara Hugging Y similar a los modelos, puedes clonar cada uno
de estos espacios y personalizarlo o
mejorarlo como quieras. Crear un espacio de trabajo en
Huggingface es bastante fácil. Así que solo tienes que
crear el registro, y luego con un correo electrónico
y estableciendo una contraseña, podemos crear una cuenta. Entonces así es como se ve mi
espacio de trabajo. Puedo ir a mi perfil y
puedo ver todos los espacios, modelos y conjuntos de datos que tengo. Entonces aquí no tengo
ningún modelo o conjunto de datos, pero hay algunos espacios en los
que he estado jugando. En realidad, este chatbot de preguntas frecuentes es la aplicación que
voy a hacer una demostración para
ti en este curso Entonces ahora mismo este espacio
está dormido porque todos estos espacios y todos
los modelos están usando hardware
real. Entonces, cuando no los estamos usando, se van a dormir para
ahorrar costos tanto en el lado cara abrazada como
en el nuestro propio lado En cada uno de los espacios, tenemos la capacidad de
revisar los archivos. Entonces este es el
repositorio del espacio, y podemos modificar y
personalizar cada uno de estos espacios editando el código dentro
del archivo app dot py. También hay una característica de
la comunidad. En esta función comunitaria, podemos crear nuevas discusiones e interactuar con
otros desarrolladores. Podemos aprender de ellos y también
podemos ayudar a nuestros
compañeros desarrolladores. Y también podemos acceder al
entorno de nuestro espacio. Y aquí tenemos la opción mejorar el
hardware que estamos usando. Tenemos una selección de
diferentes CPUs y GPU, y también podemos establecer cantidad de almacenamiento que queremos usar
para nuestro También hay más escenarios
como reiniciar el espacio o cambiar su visibilidad
de privado a público o al
revés También podemos establecer diferentes
variables como diferentes APIs, que discutiremos en el futuro videos
en esta lección. Entonces, en conclusión, en este video, te
presentamos la plataforma
Huggingfas, y hablamos sobre
la importancia del código
abierto en el rápido
desarrollo de aplicaciones de IA Y también cubrimos algunos
componentes de Hugging pace, que son modelos,
conjuntos de datos y espacios
7. L2V2: creación de interfaces web con Gradio: En este video exploraremos la
radio, una biblioteca Python, que permite demostraciones
interactivas con solo unos pocos códigos en Python. Voy a guiarte a través diferentes componentes que
se pueden usar en una interfaz de radio, y te voy a mostrar algunos espacios faciales
abrazados como ejemplos del mundo
real de lo que estas interfaces son capaces de hacer Expliquemos cómo
funciona gradio con un ejemplo hola
mundo Aquí en el sitio web de gradio, podemos ver las
instrucciones de cómo instalar gradio Es bastante simple. Es sólo con una línea de línea de comando. Voy a saltar
por aquí porque
quiero centrarme en lo que ofrece
esta interfaz. Entonces, al mirar el código aquí, vemos que
tenemos una interfaz,
una interfaz de gradio que tiene una entrada de texto
y una salida de texto Como podemos ver aquí, hay
una entrada llamada name, y hay una salida que puede generar la salida para nosotros. Entonces, si ingreso mi nombre aquí
y luego hago clic en Enviar, se mostrará un mensaje
que es saludo. Entonces, la clase de interfaz
que estás usando tiene tres parámetros diferentes.
Vamos a echarles un vistazo. Entonces el primero es FN, que es la función para envolver
la interfaz de usuario alrededor También contamos con entradas y salidas. Cada una de estas entradas y salidas puede ser de
diferentes tipos. Por ejemplo, pueden ser texto, imagen, audio, video y más. También podemos establecer
diferentes atributos para cada uno de los componentes. Entonces, por ejemplo, aquí
en este libro de texto, podemos tener dos líneas
en lugar de una Entonces ahora aquí, este libro de texto de entrada tiene una altura de dos
líneas en lugar de una También podemos tener múltiples componentes de
entrada y salida. Por ejemplo, aquí,
tenemos una función Grit que tiene diferentes entradas
y diferentes salidas Entonces así es como se ve la
interfaz. Tenemos una entrada de texto. Tenemos una entrada de casilla de verificación, y tenemos otra entrada, que es un deslizador para
establecer la temperatura Para que pueda fijar la temperatura. Puedo ingresar mi nombre aquí. Puedo ingresar mi nombre aquí. Y digamos que no es de mañana. Entonces si hago clic en Enviar, dice, Buenas noches, Reza. Hoy son 70 grados. Y abajo, hay
otra salida, que es una conversión de
Fahrenheit a Celsius. También podemos usar componentes
de imagen. Entonces así es como se ve el código
para ello. Entonces ahora mismo dentro de
la app de radio, el componente que
se usa para la imagen está dando un error, pero
eso no es un problema. Por eso tenemos cara abrazada. Así que vamos a echar un vistazo a una interfaz de fase de
abrazo, que utiliza un componente de imagen Entonces a este espacio se le llama difusión de
ilusión. Y lo que hace es que a partir
de uno de estos patrones, así que digamos que
elegimos este patrón, puedo crear una ilusión óptica basada en el prompt
que entramos aquí. Entonces usemos el
mismo prompt aquí. Hagamos un pueblo medieval. Y hago clic en Ejecutar. Por lo que ahora, creó una imagen de un pueblo medieval siguiendo este patrón de ilusión óptica. Entonces, si me alejo de aquí, ojalá ahora sea
más fácil para ti ver el patrón en
la imagen creada. Bien, volvamos al gradio. Otra característica que podemos
usar en gradio son los chatbots. Así es como se ve el código. Entonces en este chatbot, solo
estamos generando
una respuesta aleatoria, que sería la que
sería o bien sí o no Pero en el escenario del mundo real, vamos a utilizar un modelo de lenguaje
grande para generar respuestas adecuadas
basadas en las indicaciones del usuario Entonces por ejemplo, aquí, puedo saludar, dice, no, digamos, ¿cómo estás? Entonces por ahora solo estamos obteniendo
una respuesta aleatoria de no o sí porque esa es la única respuesta que puede generar el chatbot Posteriormente, podemos agregar un modelo de lenguaje
lodge para ayudarnos a generar una interacción real de chat
con el usuario. En gradio, podemos aprovechar la función
de bloques, lo que nos da más
flexibilidad y control Así que tradicionalmente, podemos
usar ya sea interfaz o una interfaz de chat para
interactuar con un modelo a través de la biblioteca de radio. Pero usando bloques, podemos crear diferentes bloques y poner diferentes componentes en
cada uno de esos bloques. Permite interacciones más
complejas entre diferentes
componentes en gradio Echemos un vistazo a un
ejemplo de uso de bloques. Entonces aquí estamos creando un bloque. Dentro de este bloque,
tenemos dos cuadros de texto. Tenemos un botón, y también
podemos asignar una función a la
funcionalidad de clic del botón. Entonces cada vez que se hace clic en ese
botón, se llama a
la función grid, y pasará estos
parámetros a la función Entonces ahora podemos ver que todos estos componentes
están en un solo bloque. Y así es como podemos agregar
más complejidad a nuestros bloques. Entonces en este código, podemos ver
que estamos creando un bloque, pero también estamos creando
dos pestañas diferentes. Y dentro de cada una de estas pestañas, tenemos diferentes componentes. Entonces veamos cómo se ve la
interfaz. Entonces ahora tenemos un bloque, y aquí hay una pestaña y aquí
hay otra pestaña. Entonces en esta pestaña, tenemos una imagen de entrada y un componente
de imagen de salida. Pero en el primer paso, tenemos un texto de entrada y
un texto de salida. Abajo, también
tenemos un menú de acordeón. Podemos cerrarla y abrirla. Y dentro de aquí, podemos agregar
más componentes a medida que necesitemos. Entonces esa fue una breve reseña
de lo que la radio nos puede ofrecer. Ahora echemos un vistazo a algunos ejemplos reales de premios
en Hugging Face
8. L2V3: pasos iniciales para crear el chatbot: En este video, comenzaremos a construir un chatbot de atención al
cliente Repasaremos los archivos necesarios para ejecutar el
espacio en la cara de entrada, y también
revisaremos el código Python que necesitamos para que este
chatbot funcione para Así es como se ve nuestro chatbot
asistente de atención al cliente ve nuestro chatbot
asistente Para tener este espacio en
nuestro propio espacio de trabajo, podemos hacer clic
en los tres puntos aquí y hacer clic en Repositorio
Clonar, o podemos iniciar un nuevo espacio. Entonces para eso, necesitamos
ir a nuestro espacio de trabajo. Y desde aquí, puedo dar click en mi foto de perfil,
ir a Nuevo espacio. Puedo seleccionar el
nombre del espacio, elegir la licencia que quiera. También necesitamos elegir un SDK,
un kit de desarrollo de software. Entonces en nuestro caso,
queremos usar la radio. Tenemos la opción de
seleccionar el hardware para nuestro espacio y decidir si queremos que
sea público o privado. Una vez que hayamos terminado, podemos
hacer clic en Crear espacio. Ya tengo este espacio, así que no necesito
crearlo. Volvamos a ello. Ahora echemos un vistazo a este bot de
chat y veamos cómo funciona. Digamos hola. Sí, claro. Hola ahí. Soy el chatbot de la Tienda de Mecánica
Imaginaria. Estoy aquí para responder
cualquier duda que pueda tener sobre nuestros servicios.
¿En qué te puedo ayudar? Entonces déjame preguntarte. Cuéntame
sobre la historia de la tienda. Y el chatbot proporciona
alguna información sobre cuándo se fundó
el taller y cuántos años
han estado trabajando ahí los mecánicos Preguntemos por el horario
de atención. Y responderá adecuadamente con los
horarios de funcionamiento de la tienda. ¿Qué servicios brinda? Entonces es decirnos sobre los
diferentes servicios que
brindan como cambios, reparaciones de
frenos, rotación de llantas, etcétera. Todo bien. Ahora, entremos en
los archivos y veamos qué necesitamos tener para que este chat bood funcione Así que el primer archivo
que queremos
ver son los atributos de Git. Este archivo está configurando el almacenamiento de archivos
grandes de Git o LFS, que es una extensión de
Git que le permite administrar de
manera eficiente
archivos grandes y activos binarios Esta configuración se
puede utilizar para una variedad de
tipos de archivos y rutas, específicamente dirigidos a archivos
binarios y grandes conjuntos de datos comúnmente
utilizados en el aprendizaje automático, ciencia de
datos y el desarrollo de
software. Esto ayuda a mantener el
tamaño del repositorio Git manejable y mejora
el rendimiento para clonar y
obtener cambios. El siguiente archivo es el taller mecánico
imaginario CSV. Así que aquí podemos ver
diferentes preguntas y respuestas sobre nuestro taller mecánico
imaginario. Este es el archivo que utilizará como referencia
el modelo de lenguaje Large, y podrá
responder a cualquier pregunta que pueda ser respondida en base la información
proporcionada en este expediente. También tenemos un archivo
léeme que proporciona información diferente
sobre la aplicación, versiones
del kit de desarrollo de software y el autor. Los requisitos de que el archivo
TXT se usa comúnmente
en los proyectos Python para especificar una lista de
dependencias que necesitan ser instaladas para que el
proyecto se ejecute correctamente Cada línea del archivo
especifica un paquete y opcionalmente una versión o un rango de versiones aceptables
para ese paquete. Y por último,
está el archivo Pi de la aplicación, que tiene todo el
código que necesitamos para ejecutar la aplicación en
el espacio de fase abrazando Así que profundicemos en
el propio código Python. Al principio, estamos
importando diferentes bibliotecas. Estamos importando radio
para la interfaz de usuario. Estamos importando Open AI para
el modelo de lenguaje grande, que impulsa nuestro chatbot, y también estamos importando OS, CSV y JSON para el manejo de archivos También estamos configurando la
API de forma encriptada. Esto tiene que ver con la seguridad porque no queremos que nuestra clave API sea visible
dentro del código. Explicaré esto en el
siguiente video cuando hable sobre las
mejores prácticas en el desarrollo de aplicaciones con tecnología
LLM Entonces, antes que nada, queremos
definir la ruta de entrada del archivo CSV. Así que el modelo de lenguaje grande sabe dónde acceder a este archivo. Después inicializamos una
lista vacía para almacenar los datos. Después abrimos el
archivo CSV para su lectura. Creamos un objeto lector CSV e iteramos a través los datos CSV y los
anexamos a la lista A continuación, convertimos la lista de diccionarios a una cadena JSON. Nuestra función de respuesta es la función que
toma el mensaje del usuario y genera una respuesta adecuada
basada en el texto de entrada. Así que configuramos nuestro archivo JSON. Proporcionamos una guía para el chatbod con el fin decirle cómo comportarse y
cómo responder a la pregunta Esta también es otra
parte en la que voy a profundizar
en el siguiente video, ya que tiene que ver con una
ingeniería rápida y
asegurarnos de que nuestro chatbod
produzca respuestas adecuadas Entonces para
producir una respuesta, llamamos openai dot completion
dot create y dentro de aquí, podemos decidir qué
motor usar Entonces aquí estamos usando
tomar Deven G 03. Identificamos cuál es nuestro aviso, y podemos establecer diferentes
ajustes para el modelo. Por ejemplo, estoy configurando
el token máximo 300 y la
temperatura en 0.1. A continuación, extraemos e
imprimimos el texto generado. Y al final, estamos
creando un bloque de radio. Entonces en ese bloque,
tenemos el chatbot. Tenemos un cuadro de texto
para el mensaje del usuario, y tenemos un fondo claro Siempre que el usuario haga clic en enviar, llamamos al
método respond pasando el mensaje y el
historial del chatbot hasta ese momento Y para poder
lanzar todo eso, solo escribimos demo dot launch. Entonces, en conclusión, en este video, comenzamos a construir
un chatbot de atención al cliente Revisamos los archivos
necesarios para ejecutar el espacio en HigingFace y revisamos el código Python que necesitamos para
construir la aplicación
9. L2V4: cómo completar e implementar el chatbot de preguntas frecuentes: En este video, te
vamos a mostrar cómo implementar un chatbot en un punto final escalable También discutiremos cómo
aplicar consideraciones éticas y otras
mejores prácticas de producción al desarrollo de su chatbot Para poder hacerlo, necesitamos ir
a la
app Settings en nuestro espacio. Podemos ver que
tenemos opciones para diferentes
unidades procesadoras y almacenamiento. También hay opciones para reiniciar o
reiniciar el Al cambiar la visibilidad del
espacio, podemos cambiar entre hacer que
el espacio sea privado o público. Hablemos más sobre
la clave API y otra
información sensible que necesita ser almacenada en nuestra plataforma
Hugging Face Entonces, si tu app requiere variables de
entorno,
por ejemplo, claves
secretas o tokens, no los codifiques
dentro de tu aplicación En su lugar, puedes ir a
la página de configuración de tu espacio y agregar una
nueva variable o secreto. Utilice variables si
necesita almacenar valores de
configuración
no sensibles y secretos para
almacenar tokens de acceso, claves
API o cualquier otro valor
sensible o credenciales. Bajo la app Configuración, también
tenemos otras opciones como nombre o transferir
este espacio También podemos habilitar o deshabilitar la función de
contribución de la comunidad o eliminar el espacio si ya
no quieres tenerlo. Otro punto de interés en
su configuración son los web hooks. Por lo tanto, los ganchos web en Hugging Face te
permiten configurar respuestas
automatizadas o cualquier otra acción
que pueda
desencadenarse por eventos específicos en la plataforma de cara de abrazo Podrías configurar un enlace
web para notificar a tu sistema cuando una nueva versión
de un modelo esté disponible en Hugging face o cuando se un trabajo de capacitación que
iniciaste complete
un trabajo de capacitación que
iniciaste en la
plataforma webhooks son como recordatorios
automáticos que nos ayudan a seguir
buenas prácticas Actúan detrás de escena para revisar nuestro trabajo cada vez que
hacemos cambios, asegurando que todo
encaje. Pueden facilitar una colaboración fluida y exitosa
al ahorrarnos tiempo, mantener nuestro proyecto consistente y mantener a todo el equipo
informado de nuevos cambios. Ahora veamos algunas
prácticas de ingeniería rápidas para ayudar a nuestros chatbots a actuar correctamente y
proporcionar respuestas relevantes Bien, entonces dentro del archivo punto Pi de la
aplicación y estamos proporcionando algunas pautas de
chatbot Vamos a desglosarlo. Entonces este es el desglose
de los lineamientos. Veamos cómo estas
instrucciones ayudan al chatbot a proporcionar respuestas adecuadas
y relevantes Lo primero
que queremos hacer es darle un papel al chatbot Entonces podemos decir, eres un chatbot
conversacional, actuando como mecánico en el taller mecánico
imaginario Entonces tenemos que
darle una función. Su función principal
es responder a todas las preguntas que son los mensajes proporcionados
por el usuario sin problemas. Responder a consultas estrictamente relacionadas con el contenido se encuentra dentro del documento
proporcionado, que se encuentra en el
archivo JSON que creamos. También para ayudar al chatbot, podemos dar un ejemplo El usuario podrá usar la palabra para usted como
representante de la tienda. Entonces, si el usuario pregunta, ¿arreglas llantas desinfladas, tu respuesta debería
ser algo así como,
sí, arreglamos llantas desinfladas en
el taller mecánico imaginario. También debemos establecer
limitaciones para el chatbot. Tus respuestas tienen limitaciones. No participar en discusiones ni responder preguntas sobre actividades
ilegales, contenido
explícito, o cualquier tema no relacionado con el taller de mecánica
o la reparación de automóviles en general. Se adhieren únicamente a la
información disponible en el archivo designado y las preguntas que puedan ser respondidas
usando esa información. También podemos proporcionar
instrucciones para manejar indicaciones inapropiadas
o no relacionadas Deberías ser capaz de manejar consultas
inapropiadas o
fuera de tema. Si la pregunta está
completamente fuera de tema, infórmese cortésmente a los usuarios
que solo puede brindar asistencia y
respuestas sobre el taller mecánico imaginario Abstenerse de involucrarse en temas irrelevantes o
inapropiados Si la pregunta no
está fuera de tema, pero no tiene respuesta, por favor proporcione una breve
respuesta a la pregunta y pídale al usuario que llame a
la tienda para obtener más información. Y finalmente, podemos decirle al chatbot cuál debe ser el tono de
la interacción Cuidar el respeto y
profesionalismo. Asegurar que las interacciones sean
educadas, constructivas y sobre el tema, manteniendo una experiencia de usuario profesional y
respetuosa Proporcionar estas instrucciones nos
ayuda a crear un chatbot que se mantenga en el tema y
proporcione las respuestas adecuadas Entonces, en conclusión, en este video, exploramos cómo implementar el chatbot en un punto final
escalable También aprendimos a aplicar consideraciones
éticas y otras
mejores prácticas de producción al desarrollo de tu chatbot
10. L3V1: problemas éticos clave en las aplicaciones de LLM: En este video,
exploraremos los riesgos que implica implementar sistemas de IA éticos y
responsables. Al final de este video, aprenderá sobre los riesgos
éticos clave relacionados con la construcción de
aplicaciones listas para la producción utilizando LLM Los temas que cubrimos
en este video son sesgos, respuestas
inseguras, temas de transparencia
y explicabilidad, y los riesgos de Una preocupación importante es el sesgo
potencial en los datos de entrenamiento que se codifican en el comportamiento del
modelo. Los modelos entrenados en texto
de Internet pueden amplificar
inadvertidamente los estereotipos dañinos en
torno a
la raza, género u otros atributos Esto podría llevar a resultados
discriminatorios que tergiversan
el mundo real Otro tema es
la probabilidad de que las LLM
generen ocasionalmente contenido tóxico, inseguro o falso, a los
que también se les conoce como alucinaciones Sin un
control adecuado, esto podría tener peligrosas consecuencias en
el mundo real. También hay problemas de transparencia
y explicabilidad torno a los grandes modelos de
redes neuronales Puede no estar claro
por qué un LLM produce una salida o
recomendación específica desde
una perspectiva humana Esta naturaleza de caja negra hace que sea difícil auditar la salida del
modelo. Además, la
naturaleza humana de los
modelos conversacionales puede llevar a la confianza del usuario extraviada o al apego a un sistema de IA Administrar las expectativas
en torno a las capacidades del sistema es una tarea importante en la presentación nuestra aplicación
basada en LLM lista para la producción Entonces, durante mi doctorado, cuando estudiaba
la confianza entre humanos y agentes artificiales, descubrí que la confianza
general para un agente, incluyendo el nivel
de perdón
del usuario para ese agente
cuando ocurrió un error, depende significativamente la percepción inicial y
expectativas de ese agente. Por lo que para poder salir con el pie
derecho con tus usuarios, al presentarles tu
aplicación, es importante establecer expectativas
realistas. Reconocer estos riesgos y probablemente más riesgos que quizás
no conozcamos significa
que, como practicantes de IA, tenemos la obligación ética abordar proactivamente este tipo de desafíos
a través
de la
investigación, el diseño y las pruebas Y es importante que los nuevos
desarrolladores estén atentos a riesgos
potenciales y pautas
éticas producidas por científicos de IA. En conclusión, algunos riesgos
potenciales en aplicaciones impulsadas por
LLM son sesgos, respuestas
inseguras, problemas de transparencia
y explicabilidad, y Con diligencia y cuidado, podemos utilizar el
poder de las LLM para siempre mientras controlamos
estos riesgos potenciales
11. L3V2: estrategias para minimizar los riesgos de la IA: En este video, exploraremos estrategias para la
mitigación de sesgos y la seguridad. Al final de este video, aprenderá
prácticas de aplicación
saludables para abordar problemas de
sesgo y seguridad lo largo del ciclo de vida del
desarrollo. Las prácticas que cubriremos son la selección de diversos conjuntos de datos, el
monitoreo del proceso de capacitación, marcado de
resultados y comportamientos inapropiados, seguridad enfocada, la
ingeniería rápida y las pruebas Antes de comenzar a entrenar un LLM, un paso clave es curar
cuidadosamente un conjunto de datos diverso para ser
utilizado para entrenar el modelo Los datos deben provenir de fuentes
acreditadas y ser evaluados para detectar contenido
dañino Para combatir el sesgo, podemos usar funciones como filtros de
diversidad para ayudar a
eliminar distribuciones sesgadas También podemos usar datos de aumento,
que es otra
técnica para incluir perspectivas
subrepresentadas en A continuación, el modelo puede ser
monitoreado por equidad entre diferentes grupos
demográficos durante la etapa de entrenamiento Podemos usar algoritmos de
mitigación de sesgos, que pueden ajustar los parámetros del
modelo para reducir en
rendimiento equitativo. Para los modelos desplegados, técnicas como el trinquete de
probabilidad y los filtros de marcado de
contenido pueden detectar y reducir la generación de salidas
sesgadas o tóxicas Es importante
saber que el monitoreo no
es sólo para la etapa de
entrenamiento. monitoreo continuo ayuda a identificar los problemas emergentes que deben abordarse. Además, la ingeniería
rápida enfocada en la seguridad enseña las normas de
conducta aceptables del modelo y lo
guía hacia un
comportamiento benévolo cuando Los desarrolladores pueden consultar los documentos de orientación para desarrolladores para ayudarlos a establecer
estas prácticas saludables. Y por último, pero no menos importante, las pruebas también
son una etapa muy importante para mitigar el sesgo Se debe hacer a lo largo del
ciclo de vida del desarrollo para analizar las salidas del modelo para problemas de sesgo y seguridad antes lanzar la aplicación
para producción. Además, las auditorías realizadas por investigadores
externos pueden agregar
otra capa de supervisión, lo cual es crucial para las aplicaciones de
alto riesgo. En conclusión, ningún
enfoque es perfecto, pero combinar las mejores prácticas como la selección de diversos conjuntos de datos, el
monitoreo del proceso de capacitación, el marcado de
resultados y comportamientos inapropiados, ingeniería
rápida centrada en la
seguridad y las pruebas nos ayudan a crear
los controles y equilibrios
necesarios para las aplicaciones de LLM éticas y
representativas
12. L3V3: promoción de la transparencia en los sistemas de IA: Este video explorará
cómo la transparencia y la explicabilidad benefician a las aplicaciones
LLM Al final de este video, aprenderás diferentes
estrategias para mejorar la transparencia y la explicabilidad
de tus aplicaciones Cubriremos la
visibilidad de los datos de capacitación, las técnicas de explicación
local, los puntajes de
confianza, las pruebas de
usuario y la supervisión
humana. Los modelos de lenguaje grande pueden producir salidas impresionantemente
humanas, pero el funcionamiento interno de
las redes neuronales es
complejo y se parece mucho a una caja negra Un enfoque para aumentar la transparencia es
proporcionar
visibilidad sobre qué datos y
parámetros de entrenamiento se utilizaron
para entrenar el modelo. Por lo que compartir tarjetas modelo
es una buena práctica para brindar información
sobre el proceso de desarrollo. Otra forma de aumentar la
transparencia es a través de métodos conocidos como técnicas de explicación
local. Pueden ayudar a los usuarios a comprender qué parte de la
entrada, por ejemplo, prompt de
los usuarios jugó
un papel
importante al llegar a la salida
proporcionada. Al resaltar o señalar las secciones específicas de la entrada que tuvieron una influencia importante en
la salida del modelo, los usuarios pueden comprender
claramente por qué el modelo respondió
de cierta
manera. También podemos volar sobre ciertas respuestas para
brindar más transparencia. Podemos usar puntuaciones de confianza para ayudar a indicar
cuándo es
probable que el modelo adivine versus cuándo es muy seguro
acerca de una salida Y hay pruebas de usuario, que ayudan a identificar casos la lógica del modelo es vaga y no cumple con
las expectativas registro de estas
instancias puede servir
como guía para futuras mejoras
del modelo. En última instancia, no debemos olvidar que todavía se
requiere la supervisión humana para verificar la justificación del
modelo y sobrepasar decisiones incorrectas No se
debe dar autonomía completa a los LLM sin barandas Bien, vimos que
estas técnicas pueden ayudarnos a construir más
transparencia alrededor del modelo. Debemos tener en cuenta que cualquier
explicación debe ser adaptada en función de los antecedentes
técnicos de la audiencia. Para los desarrolladores,
las explicaciones técnicas
detalladas podrían
ser preferibles. Pero para los usuarios finales, las interpretaciones
generalmente simplificadas de la intención del modelo son suficientes En conclusión, la transparencia y la explicabilidad ayudan a
construir una confianza duradera, asegurando que nuestra aplicación
funcione según lo previsto Características como la
visibilidad de los datos de capacitación, las técnicas de explicación
local, los puntajes de
confianza , las pruebas de
usuario y la
supervisión humana ayudan a crear aplicaciones LLM más transparentes y explicables
13. L3V4: técnicas para mantener la confianza del usuario: En este video exploraremos algunos de los desafíos
en la construcción interacciones
confiables entre usuarios
humanos y aplicaciones
LLM Repasaremos consejos
importantes para
mantener la confianza del usuario y mantener las normas
de comunicación Como discutimos antes, el establecimiento de
expectativas es crucial. Debemos transmitir
claramente las capacidades
y limitaciones del modelo para que los usuarios comprendan
cuándo confiar en los resultados y cuándo
buscar la visión humana. Deberíamos asegurarnos de no sobreprometernos. La propia interfaz de usuario
también es influyente
en la creación de confianza. Elementos de diseño similares a los humanos, por ejemplo, usar un humano como avatar
o voz puede inducir a error a los usuarios para que piensen que
el sistema es más inteligente de lo que realmente es Las interfaces de usuario minimalistas
ayudan a los usuarios a enfocarse en la tarea. Establecer un carácter
y una voz
consistentes para el
modelo ayuda a
alinear las expectativas del usuario y evitar desorientar los cambios de
personalidad Podemos beneficiarnos de las pruebas de
usuario para identificar estas
inconsistencias problemáticas Además, apegarse a las normas de comunicación
esperadas evita cualquier confusión. Para apoyar un diálogo
productivo, el sistema debe seguir
convenciones como tomar turnos, aclarar peticiones ambiguas
o admitir La transparencia también es
muy importante. manera transparente, divulgar
el rol del LLM y proporcionar información sobre
sus datos de capacitación brinda a los usuarios un contexto adecuado Además, explicar sus limitaciones ayuda a construir confianza
creíble. Y permitir
comentarios de los usuarios ayuda a identificar fallas de confianza
o problemas de comunicación. Debemos monitorear continuamente
las interacciones y aplicar comentarios de los
usuarios en las iteraciones
futuras para mejorar la
relación a lo largo del tiempo En conclusión, con un
diseño reflexivo y transparencia, los desarrolladores de
LLM pueden crear
sistemas dignos de la confianza de los usuarios Estas consideraciones
reducen el riesgo de consecuencias
y sesgos
no deseados en aplicaciones basadas en LLM Priorizar estos
factores es crucial para crear soluciones de
IA confiables y universalmente aplicables Espero que hayas disfrutado de
este corto curso
conmigo y hayas encontrado valioso el
contenido. Ojalá te vea pronto en otro emocionante curso generativo de
IA. Sigue explorando.