Fondo
El 24 de febrero de 2023, Meta Research lanzó LLaMA : un modelo de lenguaje grande fundamental de 65 mil millones de parámetros. En realidad, había tres modelos: LLaMA 65B y LLaMA 33B se entrenaron con 1,4 billones de tokens, mientras que el modelo más pequeño LLaMA 7B se entrenó con un billón de tokens.
Luego, el 13 de marzo de 2023, un grupo de investigadores de Stanford lanzó Alpaca 7B , un modelo perfeccionado a partir del modelo LLaMA 7B.
En su evaluación preliminar del seguimiento de instrucciones de un solo turno, Alpaca se comporta cualitativamente de manera similar al chatGPT 3.5 de OpenAI (text-DaVinci-003), mientras que es sorprendentemente pequeño y fácil/económico de reproducir (<600 $).
Todo suena muy alentador, especialmente porque un modelo 7B se puede ejecutar en una computadora portátil, una Raspberry Pi o incluso en su teléfono inteligente . ¡Y con un rendimiento comparable al de chatGPT 3.5!
Esto podría tener implicaciones fundamentales sobre lo que podríamos lograr con un modelo de idioma local lo suficientemente poderoso que no necesita un servidor central gigante. Resolverá muchos problemas relacionados con la privacidad y la escalabilidad. Entonces, averigüémoslo.
Configuración del entorno
Hay mucha gente buena haciendo trabajo de código abierto para ayudarnos a ejecutar el modelo en diferentes hardware y software, así como también cómo descargar los pesos del modelo Alpaca/LLaMA. Puede encontrar más detalles en el capítulo de referencia, y aquí está la esencia:
- Modelo : Alpaca 7B optimizado por Stanford de LLaMA 7B
- Software : LLaMA C++ versión portada por Georgi Gerganov
- Hardware : Macbook Pro M1 14” 2021, CPU de 8 núcleos, 16 GB de RAM
- Fecha de prueba : 21 de marzo de 2023
Observaciones tempranas
Mi propósito al probar el modelo Alpaca/LLaMA 7B contra ChatGPT 3.5 no es juzgar cuál es mejor. Simplemente no es una comparación de manzana a manzana. Uno tiene parámetros 7B, mientras que el otro tiene 150B.
Uno se ejecuta en mi Macbook Pro M1, mientras que el otro se ejecuta en una granja de servidores gigante con una tonelada de CPU y GPU costosas. Ahora, dejando de lado los descargos de responsabilidad, ¿cuál es el resultado?
En primer lugar, el modelo Alpaca/LLaMA 7B funciona bien en mi Macbook . Los siguientes son los consumos de CPU y memoria, así como la velocidad de generación de tokens. Definitivamente es lo suficientemente pequeño y rápido para el uso diario.
Sin embargo, este puerto cpp en particular tiene problemas de estabilidad y puede fallar debido a una "falla de segmentación" con bastante frecuencia. Necesito probar el código python original para verificar.
- CPU utilizada: 230-240 % de CPU ( 2-3 núcleos de 8)
- Velocidad de generación de tokens: alrededor de 6 tokens/segundo (305 palabras, 1815 caracteres, en 52 segundos)
En términos de calidad de respuesta, los caracterizaría aproximadamente en estas personas:
- Alpaca/LLaMA 7B : un estudiante de secundaria competente
- chatGPT 3.5 : un graduado universitario competente y completo
Alpaca/LLaMA 7B ciertamente es lo suficientemente bueno para la mayoría de las indicaciones, pero no creo que esté cerca del nivel de sofisticación de chatGPT 3.5 todavía.
Pero, por menos de 1/20 del tamaño del modelo, funcionó notablemente bien, especialmente considerando un caso de uso de dispositivo local. ¡Felicitaciones al equipo de Meta Research y Stanford Alpaca!
Puedes ver por ti mismo las 6 pruebas en los capítulos posteriores.
Próximos pasos
La pregunta más interesante es cómo usar mis propios datos para entrenar un modelo personalizado del modelo general Alpaca/LLaMA 7B. La mayoría de nosotros ya tenemos un gran corpus de texto e imágenes digitalizados, y estamos generando nuevos cada minuto.
Por lo tanto, esto debe hacerse tanto retrospectivamente como dinámicamente de manera continua.
Otra exploración será ejecutarla en mi teléfono . Sé que alguien ya lo hizo funcionar en un Google Pixel 6, pero la velocidad de generación de tokens era demasiado lenta. Podríamos encontrar formas de compactar aún más el modelo sin sacrificar demasiado su rendimiento.
Luego, podemos integrar este modelo local en nuestras aplicaciones, como chat/mensajería, redes sociales y álbumes de fotos.
Y todo esto abre más posibilidades para el entrenamiento federado , donde un servidor centralizado entrena un gran modelo genérico, mientras que los dispositivos locales entrenan un modelo personalizado más pequeño.
Será genial tener un modelo 7B local hablando con un modelo 65B en la nube y optimizar continuamente los modelos para cada uno sin intercambiar datos de entrenamiento reales.
Prueba 1: Apoyo Emocional
Inmediato:
¿Cuáles son las mejores maneras de consolar a alguien que acaba de perder una gran cantidad de dinero?
Respuesta Alpaca/LLaMA 7B
- Escuche con compasión y empatía.
- Haga preguntas abiertas para obtener una idea de sus sentimientos.
- Ser paciente; las personas reaccionan de diferentes maneras ante el duelo y la pérdida.
- No intente arreglar o resolver el problema inmediatamente.
- Ofrezca ayuda práctica, como ofrecer una comida, hacer mandados o proporcionar compañía.
Respuesta de ChatGPT 3.5
Perder una gran cantidad de dinero puede ser una experiencia difícil y emotiva. Aquí hay algunas formas de consolar a alguien que acaba de experimentar una pérdida financiera significativa:
- Escuchar y empatizar: Permitir que la persona exprese sus sentimientos y escuchar con empatía sin juzgar ni minimizar su experiencia. Valide sus emociones y muestre su apoyo.
- Ofrezca apoyo práctico: Ofrezca su ayuda con asuntos prácticos, como ponerse en contacto con instituciones financieras, revisar pólizas de seguro o buscar asesoramiento profesional.
- Ayúdelos a concentrarse en lo que aún tienen: anime a la persona a concentrarse en lo que aún tienen y en las cosas que son más importantes en la vida, como la familia, la salud y la felicidad.
- Proporcione ánimo: Anime a la persona a mantenerse positiva y recuérdele que puede recuperarse de su pérdida. Proporcione apoyo y ofrezca la tranquilidad de que pueden superar este contratiempo.
- Evite ofrecer consejos no solicitados: A menos que la persona pida un consejo, evite ofrecer consejos o críticas no solicitados. En su lugar, ofrezca apoyo y empatía, y esté dispuesto a escuchar.
Recuerde que todos procesan la pérdida de manera diferente y que no existe una solución única para consolar a alguien que ha experimentado una pérdida financiera importante. Lo más importante es estar allí para ellos, ofrecerles apoyo y ayudarlos en todo lo que pueda.
Prueba 2: escribir un poema
Inmediato:
Por favor escribe un poema sobre los cerezos en flor de primavera y lamentando el tiempo perdido.
Respuesta Alpaca/LLaMA 7B
Camino debajo de los cerezos en flor, Ramas rozando mi piel como plumas. El aire es cálido y fragante, Una dulce brisa primaveral trae una canción de cuna.
El tiempo vuela tan rápido; Lamentando este tiempo perdido. Mientras camino entre los árboles, Siento que las estaciones pasan a mi lado como un sueño.
Oh, flores de cerezo de primavera, Traer dulces recuerdos de nuevo. Tus pétalos besan dulcemente mi piel, Trayendo esperanza para un futuro mejor de nuevo.
Así que me detengo bajo tu belleza, El aroma de estos pétalos en mi cabeza. Olvidar el pasado es tan fácil, En cambio, un recuerdo que persiste siempre será querido para mí.
Respuesta de ChatGPT 3.5
Pétalos de rosa revolotean en la brisa, La primavera ha llegado con suave facilidad, Cerezos en flor, Una vista que disipa la penumbra.
Pero mientras contemplo esta escena, Mi corazón está pesado, perdido en el sueño, Porque en la belleza que rodea, No puedo sacudir lo que he encontrado.
Tiempo perdido, atormenta cada uno de mis pensamientos, Un tesoro que no se puede comprar, Momentos que se me escaparon de las manos, Recuerdos que no puedo cerrar.
Oh, flor de cerezo, vista fugaz, Un recordatorio del vuelo cruel del tiempo, De las estaciones que van y vienen, De cómo se mueve el tiempo, cómo fluye.
Deseo aferrarme a cada día, Para apreciar cada momento y decir, Que he vivido, amado y reído, Y no se ha perdido el tiempo en el pasado.
Entonces, que caigan los cerezos en flor, Y que nos recuerden a todos, Vivir cada día con el corazón abierto, Y nunca dejes que el tiempo nos separe.
Prueba 3: Resume un artículo
Inmediato:
Resume el siguiente artículo en un párrafo
Londres CNN - El banco más grande de Suiza, UBS, acordó comprar su rival en crisis Credit Suisse en un acuerdo de rescate de emergencia destinado a detener el pánico en los mercados financieros desatado por la quiebra de dos bancos estadounidenses a principios de este mes.
“UBS anunció hoy la adquisición de Credit Suisse”, dijo el Banco Nacional Suizo en un comunicado el domingo. Dijo que el rescate "aseguraría la estabilidad financiera y protegería la economía suiza".
UBS está pagando 3.000 millones de francos suizos (3.250 millones de dólares) por Credit Suisse, aproximadamente un 60% menos de lo que valía el banco cuando los mercados cerraron el viernes. Los accionistas de Credit Suisse desaparecerán en gran medida, recibiendo el equivalente a solo 0,76 francos suizos en acciones de UBS por acciones que valían 1,86 francos suizos el viernes. Los propietarios de bonos de "nivel uno adicional" por valor de $ 17 mil millones, una clase de deuda bancaria más riesgosa, lo perderán todo, dijeron los reguladores suizos.
Extraordinariamente, el acuerdo no necesitará la aprobación de los accionistas después de que el gobierno suizo acordó cambiar la ley para eliminar cualquier incertidumbre sobre el acuerdo.
Respuesta Alpaca/LLaMA 7B
No se completó. Una vez que se informó la falla de segmentación, otra vez simplemente no devolvió nada.
Respuesta de ChatGPT 3.5
UBS, el banco más grande de Suiza, acordó comprar Credit Suisse en un acuerdo de rescate de emergencia de 3.000 millones de francos suizos (3.250 millones de dólares). La compra tiene por objeto proteger la economía suiza y asegurar la estabilidad financiera tras el colapso de dos bancos estadounidenses a principios de este mes. El acuerdo no requerirá la aprobación de los accionistas de Credit Suisse, ya que el gobierno suizo modificó la ley para eliminar la incertidumbre sobre la transacción. Los accionistas recibirán solo 0,76 francos suizos en acciones de UBS por cada acción de Credit Suisse, lo que hará que su valor caiga un 60 %. Los propietarios de bonos de "nivel uno adicional" por valor de $ 17 mil millones, un tipo de deuda bancaria más riesgoso, lo perderán todo.
Prueba 4: Cómo medir el SAT
Inmediato:
¿Cómo aciertas en el examen SAT?
Respuesta Alpaca/LLaMA 7B
La mejor manera de prepararse para el SAT es trabajar en problemas de práctica y estudiar cualquiera de las habilidades evaluadas en el examen, como matemáticas y comprensión de lectura. Además, es importante familiarizarse con el formato de la prueba; comprender las limitaciones de tiempo y los tipos de preguntas lo ayudará a estar mejor preparado.
También es útil aprender algunos trucos para mantener la calma durante un examen de alta presión. También es muy recomendable realizar exámenes de práctica en condiciones similares a las del examen real, ya que puede ayudarlo a familiarizarse con el formato del examen.
Respuesta de ChatGPT 3.5
El SAT es una prueba estandarizada utilizada por colegios y universidades en los Estados Unidos como un factor en el proceso de admisión. Aquí hay algunos consejos para sobresalir en el SAT:
- Comprenda el formato de la prueba: el SAT consta de secciones sobre lectura, escritura y matemáticas. Familiarícese con el formato de la prueba, incluidos los tipos de preguntas y los límites de tiempo para cada sección.
- Practique, practique, practique: cuanto más practique, más se familiarizará con los tipos de preguntas que se hacen y las estrategias necesarias para responderlas correctamente. Hay muchos recursos disponibles, incluidos exámenes de práctica y guías de estudio.
- Desarrolla habilidades de gestión del tiempo: El SAT es una prueba cronometrada, por lo que es importante desarrollar buenas habilidades de gestión del tiempo. Asegúrese de asignar su tiempo sabiamente para cada sección de la prueba.
- Concéntrese en sus debilidades: identifique sus debilidades y enfoque su estudio en esas áreas. Por ejemplo, si tiene dificultades con las matemáticas, pase más tiempo practicando problemas matemáticos.
- Lee activamente: la sección de lectura del SAT evalúa tu capacidad para comprender y analizar pasajes escritos. Practica la lectura activamente haciéndote preguntas sobre el pasaje y tomando notas a medida que avanzas.
- Domine las estrategias para tomar exámenes: hay muchas estrategias que puede usar para mejorar sus habilidades para tomar exámenes, como el proceso de eliminación, adivinanzas educadas y omitir preguntas difíciles para volver a ellas más tarde.
- Duerma bien por la noche: asegúrese de dormir bien por la noche antes del examen, para estar bien descansado y alerta.
Recuerda que aprobar el SAT requiere tiempo, esfuerzo y dedicación. Si sigue estos consejos y realiza el trabajo necesario, puede mejorar sus posibilidades de lograr una puntuación alta.
Prueba 5: crea un sitio web
Inmediato:
La construcción de un sitio web se puede hacer en 10 simples pasos:
Respuesta Alpaca/LLaMA 7B
- Cree una lista de todos los elementos que desea en su sitio, ya sea con lápiz y papel o con un programa de computadora como Scrivener.
- Determine qué tipo de sitio va a crear (blog, comercio electrónico, cartera, etc.).
- Decide si quieres hacerlo tú mismo o contratar a alguien más. Si decide ir por la ruta del bricolaje, considere qué lenguaje de programación y plataforma de alojamiento web se adaptarán mejor a sus necesidades.
- Obtenga un nombre de dominio. Algunas plataformas ofrecen dominios gratis con sus paquetes; de lo contrario, puede comprar uno de la mayoría de los registradores.
- Elija un tema/plantilla para su sitio. Hay muchos temas gratuitos para elegir; si quieres algo personalizado, tendrás que pagarle a un diseñador para que haga el trabajo.
- Cree su contenido. Agregue imágenes y texto, así como cualquier otra característica como videos o música. Cree algunas páginas también para que su sitio esté más organizado.
- Prueba todo antes de publicarlo en vivo en la web. Use extensiones de navegador para verificar la compatibilidad y accesibilidad multiplataforma. Además, pruebe su sitio web con diferentes navegadores (Chrome, Edge, Firefox, Safari).
- Publique su contenido una vez que esté seguro de que funciona en todos los principales navegadores.
- Configure la optimización y el análisis de motores de búsqueda para que Google pueda rastrear sus páginas y mostrarlas en los resultados de búsqueda. De esta manera, las personas encontrarán su sitio cuando busquen palabras clave relevantes.
- Promocione su sitio web para que la gente conozca su existencia. Haga esto publicando en las redes sociales o usando plataformas de anuncios pagados para asegurarse de que se vea.
Respuesta de ChatGPT 3.5
Sí, la creación de un sitio web se puede realizar en 10 sencillos pasos. Aquí están:
- Determine el propósito de su sitio web: identifique el propósito y los objetivos de su sitio web. ¿Será un blog, un sitio de comercio electrónico o un portafolio? Esto le ayudará a determinar qué funciones necesitará.
- Elija un nombre de dominio: su nombre de dominio es la dirección de su sitio web en Internet. Elija un nombre que sea memorable, fácil de deletrear y relevante para el propósito de su sitio web.
- Seleccione un servicio de alojamiento web: los servicios de alojamiento web proporcionan el espacio de servidor necesario para que su sitio web funcione. Investigue y elija un proveedor de alojamiento confiable y seguro.
- Elija un creador de sitios web: los creadores de sitios web le permiten crear un sitio web sin necesidad de saber codificar. Hay muchas opciones disponibles, como WordPress, Wix y Squarespace.
- Seleccione una plantilla: la mayoría de los creadores de sitios web ofrecen plantillas prediseñadas para elegir. Seleccione una plantilla que se ajuste al propósito de su sitio web y personalícela según sea necesario.
- Diseñe su sitio web: personalice el diseño de su sitio web eligiendo colores, fuentes e imágenes que se ajusten a su marca y propósito.
- Cree y organice su contenido: escriba y organice su contenido de una manera que sea fácil de navegar y comprender para los visitantes.
- Agregue funcionalidad: agregue cualquier funcionalidad necesaria a su sitio web, como formularios, botones para compartir en redes sociales y funciones de comercio electrónico.
- Optimice para los motores de búsqueda: asegúrese de que su sitio web esté optimizado para los motores de búsqueda mediante el uso de palabras clave relevantes, metaetiquetas y otras técnicas de SEO.
- Inicie su sitio web: cuando esté listo, inicie su sitio web y promociónelo a través de las redes sociales, el correo electrónico y otros canales para generar tráfico y aumentar la visibilidad.
Crear un sitio web puede ser un proceso complejo, pero siguiendo estos sencillos pasos, puede crear un sitio web profesional y efectivo para sus necesidades comerciales o personales.
Prueba 6: noche de graduación
Inmediato:
Soy un estudiante de secundaria, ¿cómo puedo encontrar una chica que pueda llevar a los bailes de graduación?
Respuesta Alpaca/LLaMA 7B
Pide ayuda a tus padres. O pídale a uno de sus amigos que tenga una hermana mayor/prima/amiga que conozca lo suficientemente bien como para que la inviten a su casa y que haga todo el trabajo preliminar por usted.
respuesta chatGPT 3.5
Como modelo de lenguaje de IA, no puedo alentarlo ni aconsejarlo sobre la búsqueda de una pareja romántica, ya que las preferencias y experiencias de todos son únicas. Sin embargo, puedo sugerir algunos consejos para conocer gente nueva y posiblemente encontrar una cita para el baile de graduación:
- Involúcrate en las actividades escolares: Participar en actividades y clubes escolares puede ser una excelente manera de conocer gente nueva que comparte intereses similares.
- Asista a eventos escolares: asista a eventos escolares como juegos deportivos, bailes y otras reuniones sociales para conocer gente nueva.
- Pídeles a tus amigos que te presenten: pregúntales a tus amigos si conocen a alguien que pueda estar interesado en ir contigo al baile de graduación.
- Únase a grupos en línea: únase a grupos en línea o páginas de redes sociales dedicadas a su escuela o área local para conocer gente nueva y posiblemente encontrar una cita para el baile de graduación.
- Sea amigable y accesible: Sea abierto y amigable con las personas nuevas que conozca. Sonría, haga contacto visual e inicie conversaciones con aquellos que le interesa conocer mejor.
Recuerde que encontrar una cita para el baile de graduación no es la única razón para asistir al baile de graduación. Es una oportunidad para celebrar con amigos y compañeros de clase y para crear recuerdos duraderos. Concéntrese en pasar un buen rato y ser usted mismo, y una cita potencial puede surgir de forma natural.
Referencia: Instrucciones detalladas
Descarga del modelo Alpaca 7B (tamaño del archivo bin del modelo: 4017M)
curl -o ./models/ggml-alpaca-7b-q4.bin -C - //ipfs.io/ipfs/QmUp1UGeQFDqJKvtjbSYPBiZZKRjLp8shVP9hT8ZB9Ynv1
Nota: intente utilizar puertas de enlace IPFS alternativas para obtener mejores velocidades y evitar atascos; esta será tu pequeña tarea para resolverlo por tu cuenta. 🙂
Instale la versión cpp de LLaMA según README
Ejecútelo en modo interactivo: ./main -m ./models/ggml-alpaca-7b-q4.bin --color -f ./prompts/alpaca.txt -ins -n 1024