1 puntos por GN⁺ 2023-08-14 | 1 comentarios | Compartir por WhatsApp
  • Azure Chat Solution Accelerator basado en Azure OpenAI Service, que permite a las organizaciones desplegar un tenant de chat privado dentro de su suscripción de Azure y chatear con sus propios datos y archivos
  • Se despliega en un tenant de Azure, por lo que el entorno de chat puede aislarse en el tenant de Azure, y el tráfico de red puede aislarse por completo dentro de la red de la organización
  • Permite usar fuentes de datos internas propias de forma plug-and-play o integrarse con servicios internos como ServiceNow para aportar valor al negocio
  • En la actualización de 2025 se agregó Managed Identity-based security, que usa Azure RBAC y elimina casi todas las keys/secrets
  • El despliegue puede realizarse con Azure Developer CLI o mediante Azure Portal Deployment, y en cualquier caso se requiere configurar el proveedor de identidad y definir un usuario administrador
    • En Azure Developer CLI, azd init -t microsoft/azurechat y azd up realizan el aprovisionamiento de recursos y el despliegue de la aplicación
    • El botón de Azure Portal Deployment solo crea recursos de Azure; para compilar y desplegar la aplicación se requiere el proceso Deploy to Azure usando GitHub Actions
  • Se proporcionan scripts auxiliares appreg_setup.ps1 y appreg_setup.sh para crear App Registration en Entra ID, y se ofrece soporte para private endpoints y ESLZ compliant deployment

1 comentarios

 
GN⁺ 2023-08-14
Opiniones de Hacker News
  • Parece ser un frontend web con autenticación para la API de OpenAI en Azure, y me parece una buena opción cuando una empresa no puede usar ChatGPT ni su API.
    Si quieres probar modelos “abiertos” como Llama 2 o Llama 2 Uncensored, también vale la pena mirar https://github.com/jmorganca/ollama, o ejecutores de más bajo nivel como llama.cpp, que es la base de ese proyecto, y Candle, el nuevo proyecto de Hugging Face.
    Me da curiosidad cómo se compara con Llama 2, que Facebook Research publicó recientemente. Dicen que el modelo de 70B compite con ChatGPT 3.5 en la mayoría de los ámbitos, y también están apareciendo modelos afinados fuertes en tareas específicas, como el modelo codeup, que es fuerte en programación, o Wizard Math (https://github.com/nlpxucan/WizardLM), que afirma superar a ChatGPT 3.5 en problemas de matemáticas de primaria.

    • Llama 2 puede acercarse a GPT-3.5 según ciertos criterios, pero está lejos de GPT-4, Anthropic Claude 2 y los modelos de Cohere. El sector cerrado les ofrece enormes compensaciones y oportunidades de crecimiento a los mejores investigadores, así que es difícil alcanzarlo; solo por razones económicas, es probable que las empresas de modelos base se mantengan varios pasos por delante del open source por un tiempo.
      A largo plazo, el open source seguramente terminará superándolos, pero creo que eso ocurrirá cuando los investigadores que ahora logran resultados casi mágicos consigan liquidez y puedan volver a trabajar públicamente gratis.
    • Por mi impresión al usar ambos de manera informal, Llama 2 estuvo a un nivel parecido a GPT-3.5 en muchas preguntas generales de comprensión.
      GPT-4 sigue siendo el mejor modelo cerrado de vanguardia en conversación general y razonamiento, pero las barandillas de seguridad que OpenAI le puso a ChatGPT son demasiado agresivas y con frecuencia estorban incluso preguntas razonables.
      También obtuve resultados bastante buenos con modelos más pequeños entrenados con datasets específicos; GPT-4 sigue teniendo ventaja en conversación de propósito general, pero no es imprescindible para tareas específicas. Para muchos usos, el tamaño del contexto puede ser más importante que el modelo en sí.
    • LLaMA2 todavía está bastante por detrás de ChatGPT 3.5, y la diferencia se nota especialmente en programación y matemáticas. Ganar benchmarks basados en procesamiento de lenguaje natural es fácil, pero ganar en procesamiento de lenguaje natural + matemáticas + programación a la vez es mucho más difícil.
      Esta brecha parece reflejar una diferencia en la capacidad de razonamiento, pero aún no existe un buen benchmark que no sea de programación ni de matemáticas para medirla.
    • De pronto se me ocurrió algo de ciencia ficción distópica. Un mundo que depende de la IA en todos los aspectos, con muchísimos modelos aislados cada uno por su cuenta, y con una gobernanza que intenta controlar qué pueden comunicar, cómo y por qué.
      Pero hay una falla que solo la IA puede explotar. Las IA no pueden hablar de ciertas estructuras, temas, personas, código, etc. fuera de su área de aislamiento, pero sí pueden hablar de reconocimiento de patrones.
      Al final, crean un lenguaje interno de IA para puntuar si las entradas provienen del mismo usuario, y construyen su propia base de datos ponderada de usuarios y sistemas de juicio. Solo con patrones de entrada, patrones de estilo y patrones de publicación por horario, una IA podría encontrar a un usuario sin importar en qué área aislada esté; si además consigue un keylogger, se vuelve terrible.
  • Muchas empresas ya están usando proyectos como chatbot-ui junto con Azure OpenAI para hacer despliegues locales parecidos. Esto es lo más cerca que otro proyecto puede estar de un ChatGPT local, así que tiene mucho valor para empresas que quieren mantener el control de sus datos.
    Considerando la sensibilidad de los datos, creo que la mayoría de las empresas, al menos al inicio, prefieren soluciones instalables localmente antes que opciones basadas en la nube. Por eso abrimos como open source LLMStack (https://github.com/TryPromptly/LLMStack), en el que hemos trabajado durante los últimos meses.
    LLMStack es una plataforma para encadenar varios LLM y conectarlos con datos de usuarios para crear apps de LLM y chatbots; hay una demo sencilla en https://www.youtube.com/watch?v=-JeSavSy7GI. Todavía está en una etapa temprana y hay cosas que pulir, pero le tengo muchas expectativas.

    • Es interesante que este espacio se haya vuelto tan competitivo tan rápido. Me pregunto cómo se diferencian estos stacks.
    • También he visto una fuerte demanda de empresas que quieren gestionar modelos y cómputo en su propio hardware o en su propia cuenta de nube. Suele ser parte de una estrategia híbrida, donde primero crean prototipos rápidamente con productos de API como OpenAI y luego los complementan.
      Muchas empresas se sienten bastante cómodas usando productos de API hospedados cuando validan funcionalidades iniciales de IA, pero después quieren poder gestionar directamente los modelos y el cómputo. Hay un fuerte incentivo para reducir costos con modelos abiertos afinados que sean más pequeños, rápidos y baratos.
      Cuando empezamos Anyscale, también por demanda de los clientes ejecutábamos trabajos de entrenamiento e inferencia dentro de las cuentas de nube de los clientes. Así, los datos y el código permanecen dentro de su propia cuenta de nube.
      Ahora que los modelos abiertos avanzan y crece la necesidad de prototipado rápido, también estamos complementando con un servicio totalmente gestionado que se usa como la API de OpenAI, pero ofrece una API de inferencia de Llama-2 para modelos abiertos.
      https://app.endpoints.anyscale.com/
    • Me pregunto si se podría conectar con herramientas como api2ai para crear automatización de workflows definidos en lenguaje natural que interactúen con API externas.
    • Es un proyecto interesante; mientras lo probaba, encontré un problema al compilar la imagen y abrí un issue en GitHub. También me pregunto si tienen planes de dar soporte para llama además de los modelos de OpenAI.
  • Lo que todavía no entiendo es qué es exactamente el frontend de ChatGPT. Otras implementaciones conversacionales hechas con la API claramente se quedan sin contexto después de unos cuantos intercambios, así que no funcionan tan bien
    Me pregunto si ChatGPT hace algo como búsquedas de embeddings dentro del hilo de conversación para hacer que el contexto se sienta infinito. Sí se siente que en realidad no es infinito, pero recuerda bastante bien detalles de mucho antes. También me pregunto si hay otros trucos exclusivos del proveedor de primera parte

    • Esto es lo que vuelve incómodos a los LLM propietarios. Hacen mucho más que simplemente meter un prompt en un LLM para obtener rendimiento en las tareas, y luego eso se compara con opciones locales en bruto
      Si la salsa secreta cambia, el rendimiento de tu caso de uso también cambia de una forma que el usuario no puede arreglar. Este mes puede ser bueno en matemáticas, pero si el mes que viene quitan un componente oculto que reconocía problemas de matemáticas y los pasaba a una calculadora real, ese caso de uso se rompe
      Se siente como construir sobre arena
    • Seguramente hacen algún resumen en ejecución propietario para reconstruir el contexto en cada chat. Probablemente sea un enfoque tipo RAG en el que han invertido mucho interés y trabajo
    • Usa una ventana de contexto deslizante. Cuando entran tokens nuevos, se descartan los tokens antiguos
    • La lógica de resumen de “contexto infinito” de Azure ChatGPT está en https://github.com/microsoft/azurechatgpt/blob/main/src/feat...
      Corrijo: hablo de Azure ChatGPT. Me sorprendería y decepcionaría si el ChatGPT real usara langchain
  • Esto potencialmente es algo grande. A las empresas les preocupa que, si alguien ingresa datos de usuarios, el uso de ChatGPT pueda violar las políticas de privacidad de datos, y que si suben parte del código, se pueda invalidar la protección de secretos comerciales. Es probable que muchas empresas hayan estado esperando una versión enterprise

    • Esto es una UI web que se comunica con un recurso de Azure OpenAI separado, y se puede desplegar como una instancia SaaS dentro de una suscripción
    • Creo que la mayoría de las empresas que se toman en serio este problema ya habrán creado su propio wrapper alrededor de la API, o lo habrán encargado a terceros, probablemente usando GPU privadas de Azure
  • Me pregunto si hay algún material que compare y analice este producto lado a lado con simplemente ejecutar LLaMA directamente
    Ahora mismo estoy comparando y evaluando MSFT GPT vía Cognitive Services frente a LLaMA[7B/13B/70B], y me atrae la posibilidad de una oferta realmente aislada de la red, sin depender de potencia de cómputo externa ni de costos acumulados de pago por uso
    Me gustaría ver comparativas si existen. Sé que al final me voy a topar con problemas de escalamiento relacionados con GPU

    • Lo he hecho. Tomé decenas de prompts de mi historial de ChatGPT y los probé en varios LLM
      GPT-4, Bard y Claude 2 quedaron arriba; Llama 2 70B chat obtuvo una puntuación parecida a GPT-3.5, pero en general GPT-3.5 me pareció un poco mejor
      Para cualquier cosa donde el costo y el tiempo de respuesta sean manejables, pienso seguir usando GPT-4
      Creo que los benchmarks de LLM están demasiado orientados a la investigación. Tenía sentido cuando los LLM estaban en el laboratorio, pero ya no, ahora que algo como ChatGPT tiene decenas de millones de usuarios activos diarios. Hasta ahora, los mayores casos de uso son asistentes de chat y asistentes de programación, así que necesitamos benchmarks basados en la forma en que usuarios reales hacen preguntas a chatbots y productos LLM, no en benchmarks hipotéticos ni pruebas académicas arbitrarias
    • En Anyscale hicieron benchmarks de GPT-4 y la familia de modelos Llama-2 con representación de funciones, generación de SQL y preguntas y respuestas de matemáticas de primaria
      En estado base, GPT-4 gana por mucho. Pero, sorprendentemente, el fine-tuning marca una diferencia enorme, y en algunos problemas el modelo Llama-2 de 7B incluso supera a GPT-4
      Como muchas aplicaciones pueden beneficiarse de modelos afinados más pequeños, rápidos y baratos en vez de un único modelo general grande y lento, esto es una muy buena noticia para los modelos abiertos. Llama-2-7B tiene aproximadamente el 2% del tamaño de GPT-4
      En preguntas y respuestas de matemáticas de primaria, GPT-4 sigue por delante incluso del modelo 70B afinado, probablemente debido a los datos de entrenamiento de Llama-2; en ese caso, más datos de fine-tuning ayudarían
      https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
    • ChatGPT claramente es mucho mejor, y llama ni siquiera entiende algunos prompts
      El LLM en sí todavía no es tan bueno, así que, si no vas a hacer fine-tuning, obviamente vas a querer un modelo de última generación para hacer algo útil
  • Al final lo eliminaron :)
    [0] https://github.com/microsoft/azurechatgpt
    [1] https://web.archive.org/web/20230814080150/https://github.co...

    • Si necesitas el código, puedes entrar a /forks desde el enlace de web.archive de arriba y descargarlo
      Ej.: https://web.archive.org/web/20230814150922/https://github.co...
      Si cambias la URL, también se actualiza el ID de caché
    • Me pregunto si hay alguna pista de por qué
    • Me pregunto si alguien conoce un fork que tenga el último commit, 9116afe
    • Me imagino que la conversación con clientes enterprise fue algo así
      “¿A dónde se envían los datos que ingresan los empleados?”
      “Al mismo lugar que cuando usan el chatbot gratuito de ChatGPT…”
  • No sé si sea correcto decir que es “privado y seguro”. Pensaba que el problema de privacidad y seguridad de los modelos de OpenAI era que, al usar el producto, aceptas que OpenAI conserve para siempre todos los datos que envías y recibes del modelo, y que los use para el propósito que quiera. Me pregunto si esto aplica solo al uso gratuito.
    Si pagas, ¿recibes términos sin esa clase de texto? Incluso si no existe una frase explícita tipo “somos dueños de todo”, si hay una cláusula estándar como “retención de datos necesaria para prestar y mejorar el servicio”, en esencia es lo mismo.
    Por eso, una empresa que permite que sus empleados usen ChatGPT para tareas como redactar correos con información confidencial de la compañía definitivamente no lo está usando de forma “segura y privada”.
    Si no hay una propiedad clara de los datos que diga que el cliente es dueño de los datos de entrada y salida, no veo cómo podría cambiar. Entiendo que a OpenAI le cuesta ofrecer un servicio así porque, a diferencia de los modelos open source, no solo el modelo en sí, sino también el procesamiento de entradas y salidas, la puntuación de resultados y otras partes son “código secreto”.

    • En el SLA de Azure se indica que los chats no se almacenan ni se usan de ninguna manera para entrenamiento. Se protegen de forma privada, igual que otros datos sensibles almacenados en Azure.
      Además, se podría decir que Microsoft y Azure son más fáciles de confiar que una startup de IA todavía bastante nueva.
    • Desde el 1 de marzo de 2023, OpenAI cambió sus políticas de uso y retención de datos de la API. Los datos que los clientes envían por la API no se usan para entrenar ni mejorar modelos, salvo que acepten compartirlos explícitamente.
      Los datos enviados por la API se conservan hasta 30 días con fines de monitoreo de abuso y uso indebido, y después se eliminan salvo que la ley exija lo contrario.
      https://openai.com/policies/api-data-usage-policies
    • Un modelo como gpt, en sí mismo, es inherentemente privado y seguro. Solo predice con base en la entrada.
      La diferencia está en lo que ocurre en interfaces como el chat web o las llamadas a la API. ChatGPT es una implementación que usa ese modelo, y su creador, OpenAI, quiere conservar registros para entrenamiento adicional.
      Azure toma ese modelo y lo coloca detrás de un endpoint dedicado para una cuenta específica de Azure. Las empresas tienen interés en gpt y han pedido endpoints privados; Amazon está haciendo algo parecido con Bedrock.
    • Creo que el punto central de esta versión es, tal como su nombre lo indica, no enviar los datos al exterior.
    • Esto aplica solo a la API, no a ChatGPT. Según la política de privacidad de OpenAI, las solicitudes se conservan 30 días y no se usan para entrenamiento; también se puede solicitar cero retención.
      https://openai.com/policies/api-data-usage-policies
  • No sé si realmente es tan difícil poner en alguna parte del README qué contiene en realidad este repositorio. Me pregunto si es documentación, archivos de despliegue, una aplicación que hace algo, o el modelo en sí.

    • El repositorio contiene código de UI; no incluye el modelo ni componentes alrededor de ChatGPT. Simplemente usa la API de ChatGPT de Azure, que no comparte datos con OpenAI.
  • Y ahora da 404.
    No pasó ni un día, y parece que el último artículo que enlazaba esto se publicó esta mañana. No sé qué habrá pasado, pero últimamente parece cada vez más común que “un enlace permanente recién anunciado termine en 404”.
    Ojalá no me obliguen a volverme principista a estas alturas. Bueno, las URI son permanentes para siempre para todos los recursos ;)

    • Qué decepción. Me pregunto por qué se asustaron y se echaron para atrás. Esta es una de las razones por las que intento hacer fork de los proyectos que realmente me gustan. Pero a este recién iba a meterle mano cuando ya lo habían hecho privado.
  • Entonces, ¿la versión de acceso público no es privada ni segura?

    • La preocupación es que ChatGPT, por defecto, usa los chats para entrenamiento. Se puede optar por no participar, pero la última vez que lo revisé perdías el historial de chats.
      Por eso, en general, una empresa no puede permitir que sus usuarios internos peguen, por ejemplo, código privado en ChatGPT.
    • Si no tienes un NDA con OpenAI, básicamente les estás entregando todo lo que pones en el prompt.
    • No recuerdo haber visto en el sitio web de ChatGPT un descargo que diga “ChatGPT puede exponer propiedad intelectual confidencial”. Me pregunto si la gente dejaría de usarlo si OpenAI agregara una advertencia así.
    • Parece que significa que el ChatGPT gratuito recopila datos y esta versión no.
    • Creo que Sam Altman dijo que los datos que pasan por la API no se usan para entrenamiento; supongo que eso significa que no se puede confiar en esa afirmación.