programmier.bar icon
News AI #2 –

Vercel AI SDK // Cohere Series C // Orca // Otter // Open Llama // The False Promise of Imitation Proprietary LLMs

21.06.2023

Shownotes

In der zweiten Episode unseres neuen Formats der AI-News sprechen wir über folgende Themen:

  • Philipp erläutert die Learnings aus dem Paper "The False Promise of Imitating Proprietary LLMs", über das er auch auf LinkedIn schrieb.
  • Wir stellen euch die Vercel AI Updates vor, darunter das AI SDK und der AI Accelerator.
  • Zum Schluss diskutieren wir über die Foundation Models OrcaOtter und Open Llama.
Soundtrack composed by AIVA (Artificial Intelligence Virtual Artist)
/transkript/programmierbar/news-ai-2-vercel-ai-sdk-cohere-series-c-orca-otter-open-llama-the-false-promise-of-imitation-proprietary-llms
Hallo und herzlich willkommen zu einer weiteren Folge der zweiten Folge der Programmierbar AI News. Also eine weitere Folge werde ich bald häufiger sagen können, hoffentlich. Aber jetzt sind wir bei der zweiten Folge unserer AI News. Vielleicht gleich am Anfang. Gebt uns gerne mal zu dem Format Feedback, und sagt uns, was ihr davon haltet, ob euch das was bringt. Das Ziel mit den AI News ist ja so ein bisschen euch Web und App Entwickler in die Ära der AI zu heben und wie ihr sozusagen davon profitieren könnt, was ihr damit machen könnt, was es da Neues gibt, dass ihr einfach up to Speed bleibt und Lust habt, mit uns ins Detail einzutauchen. Damit wir ins Detail eintauchen können, haben wir wie immer den lieben Philipp Schmidt dabei. Hi Philipp. Sehr wohl, sorry. Jetzt, da wir das zweite Mal sein, kann ich immer noch ein bisschen vorstellen. Du hattest schon eine DeepDive Folge mit uns, Einführung in AI, hast du die erste AI News gemacht und bist technisch liegt bei Hacking Phase. Jemand, der sich mittlerweile ein bisschen mit AI beschäftigt, auf jeden Fall ein Name, an dem man nicht mehr vorbeikommt. Genau, AI News. Wir haben wie immer ein paar DeepDive Themen für euch dabei. Heute sind wir nur zu zweit. Das heißt, ihr kriegt zwei kleinere News Deep Dive Themen. Dann gibt es unsere Kategorie der Foundation Models. Also was für neue beispielsweise LARG Language Models gibt es da draußen, die ihr benutzen könnt? Und mal schauen, wenn wir noch ein bisschen Zeit haben, am Ende droppen wir vielleicht noch ein paar interessante Videos, die wir die Woche gesehen haben. Mal gucken, wie sehr wir uns verquatschen. Zwei Themen für euch dabei. Wir fangen vielleicht an mit einem Thema in einer Company, die ihr schon durchaus alle kennt, wir hatten auch schon Deep Dive dazu, Versell. Versel hat nämlich, also wir hatten ja auch einen Deep Dev zu Versel mit Malte Ubel, dem CTO von Versaill, könnt ihr euch gerne anhören. Die haben ein AI StK herausgebracht und das ist eigentlich super interessant für, wenn ihr einen, ich sage mal einen Chat Interface mit einem Lerch Language Model bauen wollt und das ganze streamen machen wollt, also nicht einfach auf einen Response warten wollt, am Ende anzeigen wollt, sondern am Ende eine UI bauen wollt, so wie man es von allen Playgrids der großen LLMs kennt, eingeführt durch ChatGPT. Man gibt einen Input und kriegt die Antwort dafür gestreamt und da müsste man schon ein bisschen was händisch bauen, dieses ganze Streaming Server Client Sightech bauen und auch grundsätzliches Interface zu den verschiedenen Lerche Language Models. Und WIRCEL bietet hier ein SDK für sowohl React als auch das Welt an und das einerseits eine Server und andererseits eine Client Komponente. Die Server Komponente bietet Interfaces, mit Open AI, Lengt Chain und Hacking Phase in Virence zu kommunizieren und bietet im Endeffekt die Möglichkeit, einen einfachen Post Endpunkt zu bauen, in dem Post Endpunkt eines dieser Lerche Language Models anzusprechen und einen Text Stream zurückzugeben, der dann wiederum vom Client SCK verarbeitet werden kann, ist ein ganz einfacher Use Chat Hook für React und gibt einem wirklich die Möglichkeit, einfach den Response komplett zu streamen. Das heißt, man kann wirklich hier Wort für Wort sehen, wie sich der Text am Screen aufbaut und muss echt nicht viel dafür dafür schreiben. Man hat so ein paar von dem Use Chat Hook ein paar Return Functions, die man benutzen kann. Man hat ein Messages Objekt, wo man dann drin sieht, okay, welche Rolle hat der, hat das LLM geantwortet? Was ist der Content? Man kann, hat ein paar Submit Events, wo man dann eine neue Frage stellen kann. Und auch ganz nett, auf der Serverseite hat man ein paar Stream Helpers. Man kann so Dinge machen, wie dass man beispielsweise die ganzen Response von dem LLM direkt in der Datenbank speichert. Man hat ein On Start, On Token, On Compleation Callback, sodass man serverseitig beispielsweise wirklich den kompletten Response irgendwie speichern kann und nutzen kann für weitere Aufrufe, sie wieder als Kontext mitzugeben. Also viel Magic, was da unter the Hut mitkommt. Gibt auch noch ein ganz nettes Video auf YouTube von FireShip dazu, wo er das Ganze noch mal ausprobiert und zeigen kann und vielleicht auch in die Show Nots und wer Lust hat, damit mal ein bisschen rum zu probieren, also einfach nur wie die User Experience ist, gibt es auf Play. Versaild. Ai einen Playground, wo man auch verschiedene, finde ich ganz interessant, verschiedene LLMs gegeneinander testen kann. Man kann sozusagen einen Stream an verschiedene Lerche Language Models gleichzeitig schicken und gucken, wie sie gegeneinander reagieren. Und das ist eben auch mit diesem SDK gebaut. Ganz, ganz cooler Playground, den man sich mal anschauen kann. Ich glaube noch, was man auch erwähnen kann, die SDK ist Edge und Serverless ready. Also normalerweise, wenn man ja irgendwie mit OpenAI oder selbst mit Hacking Faces irgendwie arbeitet, im Client Site oder in der JavaScript Welt hat man normalerweise immer API Keys oder Tokens und die möchte ich ja niemals auf Client Seite speichern, weil dann ja jeder mehr oder weniger, dass das Token raus kopieren kann und dann halt mehr oder weniger Missbrauch damit anstellen kann. Und dadurch, dass die SDK Edge ready ist, kann man mehr oder weniger Next. Js oder Serverless Weltkit nutzen und Edge Functions deployen, wo ich dann sage ich mal, secuare mein Token hinterlegt und dann das einfach nur als Mittelwert nutze von meinem Client zu meiner Edge Function, die dann OpenAPI oder was auch immer aufruft und dann wieder die die Response streamt. Und sage ich mal, jemand, der schon ein, zwei Anwendungen gebaut hat, auch Client seitig finde ich die die Callbacks mit Abstand am coolsten, weil man hatte immer das Problem zwischen okay, ich hätte es gern super benutzerfreundlich, heißt ich hätte gern die gestreamte Response und nicht irgendwie 10 Sekunden, die ich warten muss, bis das Ergebnis da ist. Und dann hat man immer noch das Problem gehabt okay, ich möchte aber eventuell das auch speichern. Ein typischer Use Case irgendwie. Ich habe Besuche und generiere mir die Antwort. Dann möchte ich ja eventuell die Antwort cachen für jemand anderes, der dieselbe Frage stellt. Und dann hat man bisher oftmals entweder im Backend zwei Calls machen müssen oder dann wieder von der Client Seite aus, wenn der Stream beendet ist, die Antwort wieder speichern. Und mit den OnCompleation und On Token Callbacks hat man halt die Möglichkeit, einfach direkt die Datenbank mit rein zu hängen oder ein Monitoring oder ein Logging, was sehr, sehr, sehr viel Arbeit abnimmt. Also das ist richtig cool, finde ich. Ja, ich glaube generell so was da … Es sieht sehr simpel aus für Funktionalität, die auf jeden Fall sehr, sehr cool ist. Ich habe mir gar nicht... Ich weiß gar nicht, hast du dir The Hund irgendwie angeschaut, was sie da machen? Nein. Ich weiß nur, dass sie die neuen … Vor ein paar Wochen oder Monaten hat ja Versnel bzw. Aws Lambda ja die Streaming Response eingeführt, dass man jetzt von Lambda oder halt Serverless Functions streamen kann. Und ich weiß, dass sie die Streaming Response oder das Feature mehr oder weniger dafür nutzen. Das heißt. … Wahrscheinlich sogar fast dafür gebaut haben. Ja, und ich glaube, dass das ganze Streaming funktioniert nur auf Versnel. Also man kann ja Next. Js oder das Weltkid auch irgendwie auf AWS, auf Google irgendwo deployen. Ich wäre mir nicht sicher, ob das ganze Streaming und Tech Streaming dann dort funktioniert. Das ist wahrscheinlich so ein Versaill only Feature. Ja, so habe ich es auf jeden Fall auch verstanden, dass du es auf jeden Fall dafür genutzt werden musst. Ist ja auch ein Versaill spezifisches SDK hier. Ja, nicht explizit, aber so ein bisschen aus dem Kontext heraus habe ich es eigentlich auch so wahrgenommen. Ich hätte es nicht damit gerechnet, dass ich das irgendwo anders deployen kann, außer auf Versaill. Stell mir mal vor, ansonsten korrigieren wir es noch mal in den Shownotes, wenn es anders sein sollte. Und vielleicht nur noch als Kleinigkeit. Versaill hat ein AI Accelerator Programm gestartet. Man hat noch zehn Tage, zu planen. Also wenn ihr eine Idee habt, ein Startup zu gründen rund das AI Umfeld, also ein Startup in der Richtung oder wollt jetzt was gründen, könnt ihr euch noch zehn Tage mit eurer Idee bewerben und habt dann Zeit sechs Wochen lang euer Feature zu entwickeln. Und das was der Accelerator macht, sind 850.000 € in Credits für die besten AI APIs zur Verfügung zu stellen, unter anderem auch Hacking Phase, aber auch Open AI, Coheer, wo wir vielleicht auch gleich noch mal draufkommen und man es am Ende vorstellen soll nach den sechs Wochen. Ich weiß gar nicht genau was. Also ich glaube die Credits sind ja sozusagen während den sechs Wochen. Aber was dann genau der Outcome ist nach den sechs Wochen, ist mir gar nicht so ganz klar. Aber zumindest wenn ihr da interessiert seid, glaube ich, ist es interessant da mal reinzuschauen. Die, die die Credits sind für und danach. Also man reicht sozusagen seine Ideen für sein Startup, für sein Produkt, welches sage ich mal auf AI Modellen kann es Stable Diffusion oder Image Generation Text Generation sein. Und dann werden wirst du sozusagen ausgewählt oder nicht ausgewählt. Und alle, die ausgewählt werden, bekommen Credits für die Zeit zum Bauen von Open AI, CoEA, Hacking für die Stabilität. Und dann, wenn du am Ende gewinnst, bekommst du noch mal einen sehr, sehr viel größeren Anteil für deine Idee. Und dann ist die Idee mehr oder weniger, dass du sozusagen dadurch so eine Art Starthilfe hast. Ja, stimmt. Das ist hier das Beispiel. Zum Beispiel bei, nehmen wir mal hier KURIER, kriegt man, glaube ich, 200 Dollar als Partizipant, 3000 für Gewinner. Gibt es, glaube ich, mit Replicate hier 5.000 pro Partizipant und 50.000 Dollar für den Gewinner. Genau. Also ein bisschen was in der Summe wirkt hier so wie die 150.000 Dollar in Summe wahrscheinlich für den Gewinner noch mal. Bisschen weniger, wenn man es mal nach Adam Riesel zusammenrechnet, was hier steht. Cool. So viel zu allem rund Versaill. Vielleicht war es gerade irgendwie passt. Ich habe es ja gerade auch schon angesprochen und bei dem AI Xcellerator ist ja auch Coheer mit dabei. Wir müssen, glaube ich, ein kleines Update dazu, was gerade so rund die Seed Runden, die es gab im AI Umfeld war KUHIR auch einer deiner Namen die letzten zwei Wochen. Genau, KUHIR hat vorletzte Woche ihre Series C announct, die sag ich mal sehr umfangreich ist. Also sie haben 270 Millionen US Dollar geraised und wurden unter anderem von Nvidia, Salesforce und Oracle gefundet. Und auch was ganz Interessantes, ein paar Tage später war es sowohl von Salesforce als auch von Oracle ein Announment, dass sie KUHIR in ihren Produkten bzw. On Oracle Cloud dann in Zukunft einbauen wollen, so Zugang auch für Enterprises zu ermöglichen. Und was ich glaube relativ speziell ist oder neu ist, ist, dass KURIER im Gegensatz zu Open AI oder ein Tropic sich auf Enterprises fokussiert. Also der Plan oder die Strategie für KURIER aktuell ist, dass sie eine Plattform bauen, welche jeder deployen kann, egal wo. Also man ist nicht irgendwie limitiert auf eine API, sondern man kann auch die Modelle, die KURIER trainiert, in Haus oder in einem Private Cloud, sag ich mal, deployen, was so ein bisschen der Unterschied zu Open AI und dann Tropic ist und vielleicht nur ganz kurz kohier ist, auch ein Startup, welches LLM Modelle trainiert hat, falls ihr es noch nicht gehört habt. Macht zumindest jetzt auch glaube ich Sinn, dass dann irgendwie Salesforce und Oracle da investiert haben, wenn das ein bisschen ihr Unique Selling Point ist und sie es jetzt in ihre Produkte integrieren, ist ja alles mehr B2B Geschäft, was sie ja auch am Start haben. Ansonsten du hast uns mitgebracht, Paper mal wieder The Falsche, Promes of Imitating Property LLMs. Genau. Anja Thiesel, was hat es damit auf sich? Das Paper ist jetzt nicht von dieser oder letzter Woche. Es kam vor ein paar Wochen raus, aber es ist ein sehr, sehr interessantes Paper zu lesen. Es kommt von der Berklein Universität. Und was man in den letzten sechs Monaten so gesehen hat, sind ganz, ganz viele Open Source Modelle, welche auf synthetischen Daten trainiert wurden. Also zum Beispiel Lama ist ja ein Base Modell von MetaAI, welches nicht irgendwie speziell gefinetunt wurde. Aber dann gab es ganz, ganz viele Derivate davon, welche ChatGPT like waren wie Alpakka oder wie Kuna. Und diese Modelle wurden auf synthetisch generierten Daten erstellt. Heißt man hat ChatGPT oder GPT4 genutzt, ein Datenset zu erstellen. Und diesen Datenset hat man dann genutzt, diese Open Source Modelle zu trainieren. Und dort gab es viele Claims, dass sag ich mal die Open Source Modelle langsam mit JGPT aufholen und die gleiche Performance erreichen, obwohl sie viel kleiner sind und auf wahrscheinlich viel weniger Daten trainiert wurden. Und das Paper The False Promise of Imitating Providary LRMs hat sich das ein bisschen genauer angeschaut und wirklich versucht zu evaluieren und sag ich mal akademisch daran zu gehen, festzustellen okay, ist es wirklich wahr, dass diese Modelle mit den synthetischen Daten dieselbe Performance erreichen oder nicht? Und für die Umsetzung haben sie auch einen synthetischen Datensatz erstellt, also mehrere in verschiedenen Größen. Der kleinste hat 300.000 Tokens und der größte hat 150 Millionen Tokens. Und noch mal so zur Einordnung. Ein Token sind ungefähr 0,7 Wörter, also so grob bis zu 100 Millionen Wörter, also schon relativ groß. Und dann in dem Zug haben sie auch verschiedene Modelle trainiert von GPS2, was 1,5 Milliarden Parameter hat, bis zu dem Lama Modell mit 13 Milliarden Parameter. Und diese Modelle haben sie dann zum einen von Menschen evaluieren lassen und zum anderen von GPS4. Also man hat mehr oder weniger GPS4 genutzt, den Output von den Modellen, die sie trainiert haben, mit den Output von JGPT und GPS4 an sich zu vergleichen. Und das Learning daraus, was auch so ein bisschen die Aufmerksamkeit erregt hat, sage ich mal auf Social Media, ist, dass diese Imitationsmodelle nicht wirklich Wissen erlernen, sondern nur den Stil von JGPT und GPS4, dass man halt mehr oder weniger wirklich sieht, okay, der Output ist ungefähr gleich formatiert. Man hat immer am Anfang so ein bisschen einen Anfang, dann hat man so Bullet Points und dann noch mal so einen abschließenden Satz, was halt sehr typisch, sage ich mal, für für JGPT ist. Aber beim genaueren Hinsehen hat man dann gemerkt, okay, diese Open Source Modelle fangen oft an zu halozinieren oder falsche Ergebnisse darzustellen. Aber das Format, also die Art, wie die Antwort geschrieben ist, war doch gleich. Und das leider, sag ich mal, erstmals belegt, dass man halt mit diesen synthetischen Datensätzen nicht den Anschluss schaffen kann. Und auch gerade man hat ja verschiedene Modelle von 1,5 Milliarden bis 13 Milliarden Parameter trainiert. Und dort hat man einfach gesehen okay, den größten Einfluss auf die Performance hat das Base Model. Also wenn mein Base Modell größer ist, dann habe ich auch, sage ich mal, eine nähere gute Performance zu ChatGPT. Und das Ergebnis für sie war dann halt okay, wenn wir wirklich den Gap zwischen Closed Source LLMs und Open Source LLMs schließen wollen, brauchen wir bessere Base Modelle. Heißt entweder größere Modelle oder Modelle, die länger getrennt wurden. Und dass allerdings dieser Imitations Stil trotzdem genutzt werden kann, spezifische sage ich mal oder für spezifische Anwendungen. Man wird niemals die breite Masse von Aufgaben und Anwendungsfälle von ChatGPT kopieren können. Aber wenn ich zum Beispiel ein synthetisches Datenset für einen speziellen Use Case wie Customer Support im Travel Bereich irgendwie erstellen möchte, dann kann man relativ gute Performance erzielen, da der Use Case relativ stark heruntergebrochen wurde und ich trotzdem dann sage ich mal durch die Imitation eine gute Customer Experience erzielen kann. Okay, das heißt es ist wirklich so eigentlich eher jetzt nicht allgemein zu sagen okay, synthetische Daten machen überhaupt gar keinen Sinn im Feintuning, sondern wirklich eher für sehr, sehr spitze Use Cases dann? Genau. Also es macht definitiv Sinn, sage ich mal. Zum einen alles Synthetische Erstellte von ChatGPT und GPT4 kann man nicht kommerziell nutzen. Das heißt also, dass alles, was man sozusagen Alpakka, Vikuna, all diese Modelle, die trainiert wurden auf Daten, die von ChatGPT oder GPT4 erstellt wurden, kann man kommerziell eh nicht nutzen. Das ist ein, sage ich mal, mir so Forschungsprojekt, aber es ist trotzdem sehr interessant zu sehen, dass okay, man kann diesen Stil kopieren, aber das Wissen, welches das Modell hat, eine gute Antwort zu schreiben, nicht nur sage ich mal, irgendeinen leeren Satz hinzuschreiben, kommt aus dem Base Modell. Das heißt, über dieses synthetische Daten Set oder Instruction Daten Set kann ich wirklich den Stil oder die Art, wie mein Modell antwortet, beeinflussen. Aber das hauptsächliche Wissen kommt aus dem Modell bzw. Von längerem Trainieren. Okay, habe ich auf jeden Fall jetzt verstanden. Das heißt, grundsätzlich auch jetzt wird ja immer so, wird ja eigentlich immer ChatGPT oder GPT4 dann dafür genommen für diese synthetischen Daten. Aber grundsätzlich kann man sagen, mit den synthetischen Daten könnte ich vielleicht, wenn es noch noch mehr neben ChatGPT, Closed Source LLMs gibt, die einen Stil haben, den ich imitieren will, könnte ich das immer nutzen, irgendwie den Stil, also den Stil zu imitieren, dieser LLM. Was ich ja mache, ist eigentlich immer nur den LLM Stil zu imitieren mit den synthetischen Daten. Genau. Wobei man halt sagen muss, dass die alle closed Source LMS, die irgendwie existieren aktuell mit KURI oder was auch immer und Anthropic, haben alle in ihren Terms of Services drinstehen. Okay, du kannst den Output nicht nutzen, sag ich mal einen Kompetitor zu erstellen. Ist noch ein bisschen unklar, ob man was passiert, wenn man gegen die Terms of Service verstößt, dass es noch keinen Präzedenzfall gibt? Weil es so ein bisschen ein zweischneidiges Schwert, wenn OpenAI auf öffentlichen Daten vom Web trainiert, die jeder sozusagen erstellt. Aber dann sagt Hey, unsere Daten darfst du nicht nutzen. Aber sicher zu gehen, würde ich jetzt nicht unbedingt auf synthetisch erstellten Daten von ChatGPT oder GPT4 trainieren. Das heißt, wenn der eigentlich Open Source aufholen will, braucht er dann trotzdem irgendwelche Fintuning Datensätze, die nicht nur auf Imitation aus sind, sondern es ist halt eher so ein Research Ding dann. Genau. Also es gibt ja auch diese diese Datensätze, wie zum Beispiel OpenAssistent hat ja einen Datensatz für für sage ich mal Chat, wie man ein Base Modell zu einem Chat Modell transferieren kann. Und dort hat man auch gesehen, dass 10.000 sage ich mal Chat Verläufe schon ausreichen, von einem normalen Base Modell, welches nur einen Text vervollständigen kann, wirklich einen Chat Assistent zu bauen. Oder von DataPrick das Story Datenset, welches ein Instruction Datenset ist, kann man auch kommerziell nutzen. Also es gibt auch nach und nach mehr Open Source Datensätze, die dafür zur Verwendung stehen. Aber natürlich klar, wenn ich 150 Millionen Token erstelle als Datensatz, das ist halt viel manuelle Arbeit und nicht ganz so einfach von heute auf morgen nachzuholen. Ja, dann schauen wir doch mal, wie viele der Models, die wir uns jetzt gleich anschauen, ich glaube, drei in der Zahl haben wir jetzt dabei, irgendwie diese synthetischen Daten nutzen. Was haben wir dabei? Wir haben Orca, Otto, und Open Lama. Wollen wir mit der Reihenfolge anfangen? Willst du uns etwas über Orca erzählen? Klar. Zum einen können wir bald ein Zoo aufmachen. Es ist. Wirklich so, ich lerne richtig was kennen. Ich habe zwar Kinder, da habe ich auch gelernt, ich auch viele Tiere kennen, aber ich glaube so AI Entwicklung, da lerne ich noch mehr kennen als bei meinen Kindern. Ich glaube was mittlerweile auch immer gut kombiniert wird, ist zum einen man nimmt einen Tiernamen und dann erstellt man immer, sage ich mal, ein Symbol oder ein Icon, ein Bild mit Stable Diffusion oder Dali oder sowas, wo man dann halt sozusagen auf Social Media oder so teilen kann. Und die Image Generation Modelle sind halt relativ gut mit Tieren und das kann sich halt da relativ gut durchsetzen. Aber ja, zu Orca. Orca ist ein Fintune Lama Modell. Also wir sind noch nicht, sag ich mal, in der Falkon Area angekommen, die wir vor zwei Wochen besprochen haben. Und Orca kommt auch aus dem Hause Microsoft und ist auch ein Research Paper. Das Modell wurde trainiert. Microsoft erwähnt auch in ihrem Paper, dass sie aktuell mit dem Legal Team daran arbeiten, das Modell zu open sourcen, was auch immer das am Ende heißen mag. Aber aktuell ist es also bisher nur Blatt Papier auf Blatt Papier. Und was Orca versucht oder gemacht hat, ist zu sehen, wo die Grenzen von Imitation liegen. Das heißt, wir haben ja gerade gelernt bei dem The FALse Promise of Procuretyry LLMs, dass man durch Imitierungen niemals an die Performance rankommen kann. Orca versucht das, sage ich mal, zu widerlegen. Sie haben auch synthetische Daten erstellt mit ChatGPT und GPT4, aber anders als was man zuvor gemacht hat. Also zum Beispiel, wenn wir uns Alpaka anschauen, da hat Standford mehr oder weniger von ChatGPT den Input und den Output generieren lassen. Also man hat einen Prompt geschrieben, wo man sagt okay, hey, ChatGPT, bitte erstelle mir Textbeispiele mit einem Input und Output. Ich möchte gerne ein Modell trainieren. Und was Microsoft bei Orca gemacht hat, ist man hat existierende Datensätze genommen, aber dort nur den Input. Also es gibt schon Instruction Datensätze von Google wie das Flan Datenset, welche einen Input und einen Output haben. Aber der Output ist halt nicht dieses, was wir Menschen erwarten, sondern relativ kurzer akademischer Output, den man halt heutzutage nicht mehr bevorzugt. Und was Microsoft dann mit Orca gemacht hat, sie haben diese Inputs genommen, fünf Millionen davon und haben das kombiniert mit einem System Prompt. Also wenn man ja ChatGPT oder GPT4 nutzt über die API kann ich ja mein Modell so eine Art System Prompt mitgeben, wo ich definiere okay, du bist jetzt ein hilfreicher Assistent, welcher immer in Deutsch antwortet und den Output immer keine Ahnung ins Englische übersetzt oder irgendwas. Also man kann halt so ein bisschen definieren, was das Modell tun soll. Und sie haben System Prompt erstellt, welche Chain of Fault Reseling nutzen, also mehr oder weniger nicht die die Antwort an sich einfach wiedergeben, sondern wie man zu der Antwort gekommen ist. Also dass man sozusagen diese Step by Step hat. Und damit haben sie fünf Millionen Datensätze erstellt. Also sie hatten diese System Promps, davon hatten sie, ich glaube zehn oder 15 verschiedene, hatten die Inputs, die fünf Millionen Inputs von existierenden Datensätzen. Und dann haben sie ChatGBT und GBT4 genutzt, die neuen Outputs zu generieren, welche dann dieses Chain of think rekening hatten und diese step by step, einfach auch mehr Inhalt für die Antwort bereitzustellen. Und dann haben sie die 5 Millionen Samples genutzt und Lama 13 B trainiert und das Ergebnis am Ende war, dass sie bei weitem besser waren als alle existierenden Imitationsmodelle. Also z. B. Vikuna war bisher, sag ich mal, so der König von den Imitationsmodellen und sie waren plus 20 Prozent oder plus 20 Punkte besser auf dem Evaluierung, den sie nutzen und haben dieselbe Performance wie GPT 3. 5 erreicht, also noch nicht GPT und auch nicht GPT 4. Aber sie haben sozusagen den Gap zwischen closed Source und Open Source in Anführungszeichen verkleinert, was sehr interessant ist, weil das halt passt halt gar nicht zu dem, was wir vor 10 Minuten ungefähr gehört haben, dass okay, ich brauche bessere Base Modelle, den Gap zu schließen. Allerdings ist aktuell ein bisschen unklar, ob die 5 Millionen Samples nicht genug Informationen haben, das Base Modell sozusagen besser zu machen. Bei dem vorherigen Paper, sie hatten insgesamt 150 Millionen Tokens. Orca hat jetzt fünf Millionen Samples, was bis zu 500 Millionen Tokens ungefähr sein kann, wenn man halt wirklich relativ lange Antworten hat, welche man durch dieses Chain of think rekening bekommt. Das heißt jeder Inhalt oder jeder Sample kann zwischen 100 und 1000 Tokens haben. Das heißt mein Datensatz, welches genutzt wurde zum Trainieren, ist eventuell so groß oder halb so groß oder ein Drittel so groß wie das Pre Training Datenset. Und das mit Hilfe davon sozusagen das Open Source Modell oder das Base Modell auch verbessert wurde. Und ich meine, wenn die Inputs aber auch gar nicht synthetisch erstellt sind, sondern ja aus dem Datensatz kommt, der so wie ich es verstanden habe nicht synthetisch ist, kann es ja auch damit auch zusammen liegen, dass wenn ich wirklich alles synthetisch erstelle, habe ich ja auch die Halluzinationen, die ChatGPT dann vielleicht irgendwie mit drin. Und vielleicht ist das ja auch ein Part. Klar, du hast gesagt, viel größerer Datensatz, ist mehr Information mit drin, aber vielleicht ja auch die Wahrscheinlichkeit zu haluzinieren ein bisschen eingeschränkter, weil zumindest der Input schon mal vordefiniert ist und irgendwie hoffentlich keine FALSE Information Halluzinationen enthält? Ja, genau. Also es ist trotzdem sehr interessant. Es wäre mal schade, oder? Ich glaube, man braucht halt noch mehr Research zu sehen. Okay, ist es wirklich? Liegt es daran, dass es fünf Millionen Samples sind? Wie würde das Modell mit einer Million Samples performen, wie mit zwei Millionen? Einfach nur zu sehen, wie das Verhältnis ist, auch dem gegenüberzustellen, was das vorherige Paper mehr oder weniger analysiert hat. Wie würde das Modell performen, wenn ich ein kleineres Modell hätte oder ein größeres Modell? Einfach nur, besser zu verstehen. Es kann ja sein, dass wenn man anstatt Lama 13 B, Lama 30 B genommen hätte mit demselben Datensatz, dass man vielleicht ein ChatGPT reingekommen wäre oder vielleicht besser als ChatGBT gewesen wäre. Es ist halt leider ein bisschen unklar und ich denke, da wird eventuell noch was kommen in der Zukunft. Aber auf jeden Fall sehr interessant zu sehen, dass selbst Microsoft, sage ich mal, Open AI, GDPT Outputs nimmt, zu sehen, wie gut Open Source Modelle werden können. Was so, sage ich mal relativ interessant ist, dass sie ja doch die enge Partnerschaft haben mit Open AI, aber trotzdem viel investieren und sehen okay, was können wir machen mit kleineren Modellen oder Open Source Modellen? Ja, cool. Wie gesagt, zwei Foundation Models haben wir noch mit dabei. Als nächstes, wir sind weiterhin, wir sind die ganze Zeit in der Welt der Tieren, haben wir den Otto. Ich glaube auch da, das Logo sieht auf jeden Fall auch aus, als hätten wir hier irgendein generatives Modell gehabt, was das Bild erstellt, eine coole Brille, was der Otto da auf jeden Fall auch hat. Genau, ein Otto ist ein multimodales Modell basierend auf Open Flamingo, ist gefinetunt auf einem Datenzeichen, auf das wir uns dann gleich drüber unterhalten, Mimik it, also Multimodel in Context Instruktion Tuning und kann als Input nicht nur Bilder, sondern auch Videos benutzen und habe dazu die Möglichkeit als Input Multimodal insofern, dass ich Video oder Bilder als auch Text Inputs geben kann und darauf basierende Outputs Text Outputs bekomme. Und so ein bisschen das Ziel auch von diesem Modell ist, so zu zeigen, dass es im Endeffekt benutzt werden kann für sagen wir mal real life Szenarios. Also wir haben so ein Promotion Video auch, was glaube ich relativ untypisch ist, jetzt auch nicht so high Production Value, aber was so ein bisschen so Szenarien zeigt, so irgendwie keine Ahnung, ich fliege in einem Flugzeug und brauche irgendwie Informationen darüber, wo, wie ich landen kann, wie ich jetzt, was ich jetzt eigentlich tun muss, mit diesem Flugzeug zu interagieren, falls ich vielleicht nicht fliegen kann oder so und irgendwie der Pilot raus gesprungen ist, könnte ich auf jeden Fall mit Otto vielleicht helfen, könnte Otto mir dabei helfen, dieses Flugzeug zu fliegen und das im Endeffekt wirklich Szenen analysiert werden kann aus ein bisschen der Use Case, so ein bisschen in Richtung Augmented Reality. Wir haben den Videoinput Video Stream auf irgendeiner Brille drauf und haben ein Modell, was mit der Echtwelt interagieren kann. Und wie sie das bewerkstelligt haben, ist eben dieses, also Bauteil ist ein feingetuntes Modell, wie gesagt auf Basis von Open Flamingo und das Datenset, was dazu benutzt wurde, heißt Mimikit, ist ein 2,8 Millionen Instruct Response, also 2,8 Millionen Instruct Response Datenset. Und das heißt, man hat immer eine Instruktion und einen Response und dazu verschiedene multimodale Inhalte. Also es können Bilder oder Videos sein, die dazu gegeben werden zu diesem Instruct Response Datenset. Und die wurden aus sieben verschiedenen Kategorien geholt, dieses Datenset, dem Modell die Fähigkeit zu geben, Videos und Bilder von verschiedenen Blickwinkeln zu analysieren. Also einerseits sind dann verschiedene Datensätze genutzt worden, aber worauf sie geachtet haben, oder diese sieben verschiedenen Kategorien sind beispielsweise sowas wie Spot The Difference, wo man irgendwie zwei relativ ähnliche Bilder nimmt und probiert, dem Modell damit beizubringen, was die Unterschiede in diesen sehr ähnlichen Bildern sind. Oder sie haben auch TV Show Captions genommen, wo sie TV Serien nehmen, die Captions dazu, sozusagen Interaktionen von Menschen zu analysieren, die dann in, sage ich mal, in sag ich mal in TV Shows sehr reell dargestellt werden sollen. Oder Denns Captions, das heißt man hat sehr sehr lange Video probiert mit einer Caption zu beschreiben, was alles in diesen Videos in der Reihenfolge passiert, aber eben auf sehr, sehr lange Videos als auch und dann merkt man schon ein bisschen, wo dieser vielleicht Virtual Reality Ansatz so ein bisschen oder Augmented Reality Ansatz kommt, das EGO4D Datenset, wo man egozentrische Videos, also Videos aus der Brille des Betrachters sozusagen hat und so den Augmented Reality Ansatz unterstützt und eben diese sieben verschiedenen Kategorien dann nutzt in diesem Daten Set Mimik it. Ich glaube, dass aktuell releast, also es gibt Otto als ein neun Milliarden Parameter Modell jetzt auf Hacking Phase, ist eben 9 Milliarden, weil es die 9 Milliarden Parameter vom Open Flamingo Modell nutzt. Aber ich weiß gar nicht, sie schreiben irgendwie die Version 0.2 wird bald auf dem Mimik it Daten Set trainiert sein. Ich weiß gar nicht, ob das auf Hackingphase schon auf diesen Daten zentrainiert wurde oder auf was dem auf welchem Datenset das Aktuelle gerade trainiert ist. Aber wenn Sie interessiert, kann man wie gesagt das Hacking Face Modell ausprobieren als auch es gibt eine Playground Seite von Otto, findet man auf der oder packt man einfach in die Shownotes, wo man das Ganze mal selbst ein bisschen ausprobieren kann und Video hochladen kann und das Modell mal ein bisschen probieren kann. Aber ich glaube so die Idee, der interessante Part daran auf jeden Fall das Datenset, das Mimik it Datenset mit dem sie Otto oder ob Flamingo gefeintunet haben und Otto da rauskam. Perfekt. Dann haben wir noch eins in der Reihe der Foundation Models, Open Lama. Was hat es damit auf sich? Sehr cool. Ja, ich mache es noch sehr kurz. Open Lama ist eine Initiative, auch von Berkle von zwei Researchern, welche mehr oder weniger sich zur Aufgabe gemacht haben, das Lama Modell von MetaEi zu reproduzieren. Also wir haben ja heute auch vor zwei Wochen ganz viel darüber gehört, dass Lama ein sehr beliebtes Modell ist oder auch ein sehr gutes Modell ist für Base Modelle und Open Lama, wie der Name auch sagt, ist einfach eine Reproduktion. Und das Team hinter Open Lama hat letzte Woche die Wates für das 13 Milliarden Parameter Modell veröffentlicht und auch direkt evaluiert mit dem Evaluation Harness Toolkit von Eloofer AI und das Open Lama Modell matcht die Performance von Meta MetaSlama 13 Milliarden und ist releast unter der Apache 2.0 Lizenz. Heißt man kann es für kommerzielle Zwecke nutzen. Und was da halt sehr cool ist, durch den ganzen Lama Hype, der über die letzten Monate entstanden ist, sind halt sehr viele coole Projekte auch entstanden, wie das Lama Cpp Projekt, welches einmal möglich, Lama zum Beispiel auf seinem MacBook ausführen zu können oder halt super einfach auf auch selbst auf einem Androidphone hat es glaube ich jemand gemacht. Und da das Lama oder Open Lama halt eine eins zu eins Replizierung eigentlich ist, heißt kann ich einfach die Meta Wates mit den Open Lama Wates austauschen und das ganze Ecosystem auch schon nutzen. Das einzige, was man erwähnen sollte, ist, dass es einen Unterschied gibt im Tokenizer. Und der Tokenizer von Open Lama leider merged er Multiple White Spaces. Das heißt, wenn ich zwei Leerzeichen mache, mehr oder weniger, werden die in ein neues Token gemerged, was zu Problemen führt, wenn ich Code Generation Tasks habe. Also Python zum Beispiel ist ein bestes Beispiel. Ich arbeite nur mit White Spaces und darüber lernt das Modell halt nicht so wirklich. Okay, wie weit muss ich es einrücken? Deswegen ist OpenLama nicht wirklich geeignet für Code Generation aktuell. Sie haben aber trotzdem auf ihrem GitHub geschrieben, dass sie daran arbeiten. Und dennoch denke ich okay, wenn ich irgendwas mit Code Generation machen möchte, könnte ich vielleicht irgendwie Starcoder nehmen, was ein ähnlich großes Modell ist und nur auf Code trainiert würde. Wenn ich etwas mit ohne Code machen möchte, dann ist OpenLama definitiv eine gute Alternative. Und es wäre sehr cool zu sehen, wie das zum Beispiel Orca oder auch andere, sage ich mal, Research in die, die die Papers Programme eventuell auf OpenLama gehen und dann ihre Modelle vielleicht auch unter Apache 2.0 releasen und dass man die dann direkt nutzen kann. Und, aber wenn ich das nochmal verstehe, das heißt, da wurde ein separat, also zwei Leerzeichen sind, wird als ein separater Token bewertet oder was? Ja. Ich glaube, wir hatten eine Folge letztens aufgenommen mit Matthias Plappert, der bei Open AI gearbeitet hat, wo er meinte, dass das zumindestens dann für den Co Pilot, dass sie es damals auf jeden Fall extra so gemacht haben für Python, Tokens zu erstellen, die sozusagen die Einrückung dann widerspiegeln und Tokens für mehrere Leerzeichen extra erstellt haben sogar. Genau. Aber ich glaube, der Unterschied ist was, was Open Air dort gemacht hat. Sie haben mehr als eins oder zwei gemacht. Ich glaube, sie haben welche für zwei, für vier, für sechs, für acht. Und scheinbar ist das Problem, dass sie für eins und für zwei haben oder auch für ich weiß nicht. Also ich kann es echt nicht sagen für wie viele und das dadurch zu Problemen führt. Ich meine, das ist halt die Information, die man auf GitHub findet und ich glaube, das hat schon einen Grund. Es scheint aber, dass sie es nicht unbedingt mit Bedacht gemacht haben, sondern Open AI hat es ja auch gemacht, weil sie gemerkt haben, sie haben Probleme und dadurch Probleme lösen konnten. Das wirkt jetzt eher wie ein nicht ganz bedachtes Problem. Ja, das Problem oder ich spekuliere hier nur, aber normalerweise, wenn man ein Modell von Scratch trainiert, trainiert man zuerst ein Tokenizer. Das heißt, ich erstelle ja zuerst mein Vokabular und welche Tokens ich mehr oder weniger in meinem Vokabular habe und dann erscheine ich denen eine ID. Und diesen Tokenizer trainiere ich auf meinem Datensatz, der sich auch später nutzt zum Pretraining. Und es kann einfach sein, dass das halt irgendwie, weil es ganz oft irgendwie doppelt White Spaces gab, halt das Tokenizer Mutter mehr oder weniger heuristisch gesagt hat okay, das ist ein neues Token, das kommt so oft vor, das kriegt eine eigene ID. Und das dann halt eventuell irgendwie durch geschlüpft ist und man das erst viel später gemerkt hat. Und dann ist es halt schwierig, das wieder, sage ich mal gerade zu biegen. Aber ich glaube auch in dem Open AI Podcast, den ihr aufgenommen habt, hat Open AI das nachträglich erst aufgeteilt. Genau, die haben es nachträglich. Und eventuell arbeiten die an derselben Thematik. Ja, cool. Dann haben wir zwei Deep Dive Themen und unsere drei Foundation Models. Mal gucken. Ein bisschen weniger als beim letzten Mal, aber ich glaube wir haben extra welche rausgenommen diese Woche. Lass uns auch kommen. Ein bisschen Zeit haben wir noch. Wir haben noch zwei kleine Pick of the Days dabei, die haben wir noch schnell raus. Du hast einen dabei. Was ist dein Pick of the? Wir fügen uns jetzt einfach mal in die Kategorie hier in den News. Ein bisschen Zeit, 30 Minuten angesetzt, acht Minuten drüber. Aber ja, wir nehmen es mal nicht so ganz genau. Ich habe es angekündigt. Sonst werden wir es beim nächsten Mal wieder raus. Genau. Also ich bin letzte Woche über einen sehr, sehr coolen Blogpost gestolpert, der schon ein, zwei Wochen oder Monate alt ist von Viktor Dibia, welcher ein Researcher bei Microsoft ist und hat einen sehr, sehr guten zusammenhängenden Blogpost darüber geschrieben, wie man die Halluzinierung von Language Modellen sozusagen verbessern kann oder reduzieren kann. Und da geht es wirklich darauf ein, auf einzelne Punkte und Tipps, die man anwenden kann, halt mehr wahrheitsgemäße Antworten zu erzeugen. Ein Beispiel dafür ist einfach, dass man externes Wissen mit einbindet. Also wenn ich irgendeine Frage stelle, dass ich versuche einen Kontext mit beizulegen, dass das Modell nur diesen Kontext nutzt, die Frage zu beantworten. Oder dass ich auch dieses Chain of Thoord Resetting nutze, einfach dem Modell ein bisschen mehr Kontext zu geben und ein bisschen mehr zu hinterfragen. Okay, wie kommst du überhaupt auf die Antwort? Oder auch so Techniken wie Future Prompting, dass ich einfach mehrere Beispiele meinem Modell zur Verfügung stellen. Das ist ein sehr sehr cooler Blogpost, auch sehr, sehr gut geschrieben, den man sich anschauen kann, wenn man gerade mit LLMs arbeitet oder jetzt vielleicht über Wörter, mit denen gerne mal was anfangen würde. Da kriegt man auf jeden Fall gute Tipps, wie man seine Modelle glaubhafter oder halt mehr wahrheitsgemäß, sag ich mal, tun kann. Auf jeden Fall ein guter Blogpost, so ein Prompt Engineering Engineer zu werden. Sehr cool. Ich habe auch noch eins dabei, State of Tpt von Andre Kapathy auf der Microsoft Build jetzt schon ein paar Wochen her. Ich kam auf den Talk eigentlich auch durch dich. Du hast ja über LinkedIn den Talk gepostet und wirklich auch einer, den ich bei uns in der Firma geteilt habe. Ich sage mal so zusammenfassend, eigentlich gefühlt noch mal alles zusammenfassend, wie eigentlich genau auf einer Flughöhe, die auch jemand versteht, der jetzt nicht unbedingt jeden Tag mit der App zu tun hat, wie eigentlich diese Apps funktionieren, welche Steps entläuft sind, sie zu generieren, was jetzt eigentlich die Begriffe wie Tokens, mit denen wir hier umher werfen, die wir vorhin auch noch mal erklärt haben, war einfach so ein Rundumschlag, was bei mir, der sich schon damit beschäftigt hat, hier und da echt noch mal einige Lücken irgendwie so gefüllt hat, so ohne dass ich jetzt tagtäglich das mein täglich Brot werde. Bei dir wird es bei dir wahrscheinlich weniger Lücken gefüllt haben, aber ich fand eine unfassbar gute Zusammenfassung, also die gerne mal anschauen. 45 Minuten lohnt sich auf jeden Fall extrem. Genau der Tag ist auch aufgeteilt, sage ich mal in zwei Punkte. Man hat am Anfang so 20, 25 Minuten, wo André darüber redet, wie GDP Modelle bei Open Air trainiert wurden, also mit Pre Training über Reinforcement Learning from Human Feedback. Und der zweite Teil geht so ein bisschen darauf ein. Okay, wie kann ich den Anwendungen damit bauen? Also wie komme ich von aktuellen manuellen Prozessen, wo ich zum Beispiel irgendwie selber in eine Dokumentation gehe und dann irgendwelche Beispiele suche und zusammenknüpfe? Wie kann ich aus diesen Prozessen dann Anwendungen bauen mithilfe von LLMs? Was auch sehr cool ist, vor allem wenn man halt auch gerade erst damit anfängt oder anfangen möchte, einfach so ein paar Tipps auch zu bekommen. Ja, definitiv sehr gute Inhalte, die der Andre so erstellt. Schon auch einige andere, die wir auch mal hier jobpen werden. Philipp, vielen Dank für deine Zeit, euch auch vielen Dank fürs Zuhören. Wir haben am Anfang schon gesagt, gebt uns gerne Feedback, schickt uns etwas über programmier. Bar an unsere E Mail Podcasts, Programmier. Bar und lasst uns wissen, von was ihr mehr wollt, von was ihr weniger wollt, wie euch das Format gefällt und ob ihr mehr News rund AI haben wollt. Vielen Dank. Bis in zwei Wochen. Tschüss.

Speaker Info

  • Philipp Schmid Profile

    Philipp Schmid

    Philipp Schmid ist Technical Lead und Machine Learning Engineer bei Hugging Face, einer Firma, die gutes Machine Learning durch Open Source und Open Science demokratisieren möchte. Der junge Nürnberger und AWS Machine Learning Hero hat sozusagen die deutsche Variante von ChatGPT entwickelt und darüber auf seinem Blog geschrieben. Checkt sie im Playground aus!

    Mehr Infos
    Angle right
    Angle right
    Angle right

Verwandte Podcasts

  • 18 Ai News

    News AI #18: Apple MM1 // Mistral // Grok // Inflection & Microsoft // Open Interpreter

  • News Asset50

    News 50/23: Epic vs. Google // iOS 17.2 // Cloudflare "Year in Review" // App Store 2023 // JetBrains AI Assistent

  • 135 Not Deep Dive

    !Deep Dive

  • 08 Ai News

    News AI #8: OpenAI DevDays // State of AI // DallE3 // Zephyr // Fuyu 8B

  • News Asset42

    News 42/23: ChatGPT Voice // Visual Copilot // DockerCon // Node.js 21

  • 07 Ai News

    News AI #7: Cloudflare AI - Serverless Workers, AI Gateway, Vector DB // Meta AI // LeoLM // Mistral AI 7B // LocalPilo

  • 05 Ai News

    News AI #5: Falcon 180 B // SD XL 1.0 // IDEFICS // GPT Finetuning // CodeLlama // Coreweave 2.3B$ AI Kredit

  • News 30 23

    News 30/23: Valibot // Twitter wird X // Microsoft Cloud Probleme // Google Street View // GPT4 wird schlechter

  • News 28 23

    News 28/23: Tailwind 3.4 // Threads // Vercel Skew Protection // ChatGPT-4 API

  • News 26 23

    News 26/23: Svelte 4 // Langchain & Colab // Google I/O Connect Amsterdam

Feedback
[object Object]