Microsoft maakt zijn kleine taalmodel Phi-4 opensource

Microsoft heeft zijn vorige maand aangekondigde kleine taalmodel Phi-4 onder opensourcelicentie uitgebracht. Het model staat op HuggingFace en is bruikbaar in programma's van derden door de stap.

Microsoft Phi-4
Microsoft Phi-4

De opensourcerelease komt daarmee later dan gedacht, want bij de aankondiging in december zei Microsoft dat het binnen een week zou gebeuren. De release is onder een MIT-licentie. Phi-4 is een stuk groter dan voorganger Phi-3 mini, dat 3,8 miljard parameters telt: Phi-4 heeft er 14 miljard. De data liep tot juni vorig jaar. Veel kleinere modellen houden het bij enkele miljarden parameters, omdat ze op die manier op weinig krachtige hardware zoals telefoons en minicomputers kunnen draaien.

Het model is volgens Microsoft gericht getraind met output van andere modellen en geselecteerde documentatie zoals academische boeken en Q&A's. Bovendien heeft er veel finetuning plaatsgevonden om goed te luisteren naar prompts en om binnen de regels te blijven. Het model werkt voornamelijk in het Engels, zo zegt Microsoft, en is minder geschikt voor gebruik met andere talen.

Door Arnoud Wokke

Redacteur Tweakers

09-01-2025 • 13:50

39

Submitter: wildhagen

Reacties (39)

39
39
9
1
0
30
Wijzig sortering

Sorteer op:

Weergave:

Ik zou het niet echt 'open source' noemen. Ja de weights zijn verkrijgbaar maar de brondata juist niet. Ik zie dat meer als de 'gecompileerde' data.

Maar inderdaad is het bij AI modellen wel gebruikelijk om het dan open source te noemen.
Als je kijkt shared Microsoft juist enorm veel code voorbeelden en handleidingen voor hun Phi-modellen. Vanaf hoe je het model kan quantizeren naar minder bit, of zelf fine-tunen met wat eigen data, of hoe je lokaal een server op zet, of b.v. in rust, of C# het model gebruikt.

Theoretisch kan je het model ook volledig zelf trainen. Alleen de data die hun zorgvuldig hebben samengesteld mis je dan. Maar zelf heb ik toch niet 40TB harrdisk ruimte vrij om die te downloaden, of 2.5miljoen euro die nodig is om 1920 GPU's (H100-80G) voor 21 dagen te huren.

Alleen Universiteiten zouden met die data misschien iets mee willen/kunnen. Maar het zou zomaar kunnen zijn dat ze daar met Microsoft wel afspraken over kunnen maken (voor al als ze daarna het model trainen op Microsoft Azure)
Ja dat je er niet veel mee kan dat weet ik. Maar dat doet er niet zo toe. De meeste mensen compilen ook hun Linux niet zelf. Maar je kan wel kijken hoe het in elkaar zit. En daar van leren.

En ze leveren inderdaad veel instructies, al draai ik het zelf in ollama. Ik vind het alleen niet echt 'open source' dan. Die benaming vind ik niet echt terecht als je de source data niet kan krijgen.

Bovendien, hierdoor blijft zo'n model ook een soort black box. En je kan niet nagaan of er toevallig prive informatie in is terecht gekomen.

40TB heb ik trouwens wel beschikbaar hier. Dat valt me nog mee eigenlijk.
Alleen de data die hun zorgvuldig hebben samengesteld mis je dan.
Ja precies en dat is nou net de 'special sauce'. En de echte source.

[Reactie gewijzigd door Llopigat op 9 januari 2025 14:40]

De vraag is of men die datasets wel vrij mag delen, en zo ja: onder welke licentie. Wikipedia zou je misschien de data van kunnen delen onder een bepaalde licentie. Maar als we het hebben over data verkregen middels scraping, dan niet.

Ik denk dat we Microsoft (en Meta) wel mogen bedanken voor hun bijdrage. Het scheelt immers veel energie (letterlijk en figuurlijk) om de broncode (als we die al zouden hebben) te kunnen compileren. Een vergelijking tussen weights zou zijn compiler opties (inclusief optimalisatie), ofwel: richting de compiler zelf.
Maar als we het hebben over data verkregen middels scraping, dan niet.
Dat is waar, maar dan had die data eigenlijk ook helemaal niet in het model terecht mogen komen, laten we wel wezen. Dat is nu een beetje de cru van deze modellen, men cowboyt maar aan met data om het zo snel mogelijk op de markt te brengen. Het beschikbaar maken van de brondata zal het proces een stuk eerlijker en transparanter maken. Dan kan je zien wat er echt in de worst zit.
Ik denk dat we Microsoft (en Meta) wel mogen bedanken voor hun bijdrage.
Ja ik ben ook niet kritisch op wat ze ons geven hoor. Ik gebruik zelf Llama3, die vind ik net wat beter dan Phi3 (Phi4 nog niet geprobeerd). Ik heb er zelfs een hele eigen server voor ingericht. Maar ik heb het puur over de benaming "open source". Die vind ik niet terecht. Het is nu helemaal niet duidelijk wat er voor data in het model zit verwerkt. Zo kan je ook bijvoorbeeld niet leren van hoe een goede LLM in elkaar zit.

Dat ze ons mooie spullen geven ben ik het zeker mee eens. Dat staat los van mijn mening over hoe het genoemd wordt. Ik hoop alleen wel dat ze dat blijven doen zodra de LLM markt wat gevestigder is. Zoniet wordt het tijd voor echte open source modellen waarbij je bijvoorbeeld geld kan doneren voor de datacenter tijd. Ik denk dat het heel belangrijk is dat "big tech" niet de sleutelhouder voor AI in het algemeen wordt maar dat er ook echt publieke initiatieven blijven.

[Reactie gewijzigd door Llopigat op 9 januari 2025 15:58]

De 'compiler flags' zijn wel open source hiermee. Het probleem is eerder dat we het hele model samenvatten als open source, terwijl het enkel de 'compiler flags' betreft. We zouden er een andere term voor moeten verzinnen die de lading beter dekt. Maar het is net zoiets als de term crypto. Je kunt een term compleet verneuken.

Toch hebben we dit eerder gezien bij bijvoorbeeld spellen zoals Quake. De data assets waren hierbij niet open source beschikbaar (in ieder geval bij de eerste releases niet). Het spel met de engine wel. Vaak werd dat FOSS wanneer de nieuwste iteratie van de engine alweer uit was. Dus Q1/Q2 vrij beschikbaar wanneer Q3 te koop was, enzovoorts. Maar ik vind dat een andere situatie. Je kunt de data assets immers vervangen met je eigen spul. Doe je datzelfde met de input data, dan krijg je een compleet andere output want de weights zijn aangepast aan de hand van de input data.

Er blijkt trouwens van OSI een definitie voor open source AI te zijn: https://opensource.org/ai/open-source-ai-definition
De vraag is of men die datasets wel vrij mag delen
Nee, dat is een vraag, niet de vraag. De vraag is niet of Microsoft de bronnen vrij mag geven, de vraag is of je het open source mag noemen als de bronnen niet open zijn.
Ik denk dat we Microsoft (en Meta) wel mogen bedanken voor hun bijdrage.
Natuurlijk. We mogen Adobe ook dankbaar zijn dat ze een digitaal fotolab hebben ontwikkeld, maar daarmee is Lightroom niet open source. Wellicht gebruikt Adobe allerlei patenten, waardoor ze een deel van de code niets een vrij mogen geven, maar dat veranderd niets aan de definitie: Lightroom is niet open source.

[Reactie gewijzigd door 84hannes op 9 januari 2025 15:45]

Als je kijkt shared Microsoft juist enorm veel code voorbeelden en handleidingen voor hun Phi-modellen.
Maar dat is alsnog niet hetzelfde als open-source. De data waarop het model is getraind, hoe dat te repliceren, is niet beschikbaar. Het label open-source op zo'n model plakken vind ik daarom nogal misleidend, niet meer dan een marketing truc.
Theoretisch kan je het model ook volledig zelf trainen.
Volgens mij dus niet, want je hebt die originele data niet. Kun je nog alle GPU's en harde schijven van de wereld hebben, maar je kunt niet zelf zo'n model maken.

[Reactie gewijzigd door Luminair op 9 januari 2025 14:38]

Volgens mij dus niet, want je hebt die originele data niet. Kun je nog alle GPU's en harde schijven van de wereld hebben, maar je kunt niet zelf zo'n model maken.
Ja precies. Helemaal mee eens. Zo is het niet echt open source.

Ik zie twee redenen om wel alle brondata te willen:

1) Het zelf kunnen bouwen van een model met andere prioriteiten: Bijvoorbeeld de censuur, de Amerikaanse modellen hebben bijvoorbeeld de Amerikaanse preutsheid ingebouwd, die wij hier niet onderschrijven. Nou heb je wel modellen waar die censuur weer een beetje af geknipt wordt met 'abliteration' maar het echt kunnen bouwen van een eigen model zou veel beter zijn. Natuurlijk moet je dan wel de kosten voor de training crowdfunden want je zit zo aan een ton aan datacenter tijd.

2) Het controleren van de invoerdata. Is het wel data die vrij gebruikt mag worden? Zit er geen persoonlijke data tussen? Het beschikbaar maken hiervan zal het vertrouwen in de privacy en respect voor copyright van AI modellen veel groter maken.
Hoe kom je op 40TB?
Multilingual Data
We incorporated multilingual datasets to ensure that our model could handle a wide range of languages, including German, Spanish, French, Portuguese, Italian, Hindi
and Japanese. This involved sourcing and processing high-quality multilingual documents from CommonCrawl and Wikipedia.
https://www.commoncrawl.o...awl-archive-now-available
https://data.commoncrawl....24-sep-nov-feb/index.html
Training data: 9.8T tokens
https://huggingface.co/microsoft/phi-4

[Reactie gewijzigd door djwice op 9 januari 2025 23:32]

Op die data rust copyright en kunnen/mogen ze niet zomaar delen. Als ze dat doen, dan krijgen ze de eigenaren achter zich aan. Nu weet niemand wiens data erin zit en kan men het ook niet claimen. :Y)

Stel je eens voor dat bekend is welke data er allemaal in een LLM zit. Dan zou men zomaar helemaal anders gaan denken over "fair use" gebruik hiervoor.
Ja maar daar ging het niet over. Het punt was dat ze het open-source noemen terwijl het dat niet is. Dat ze het niet kunnen is goed mogelijk, maar noem het dan geen open source.
Als ze dat doen, dan krijgen ze de eigenaren achter zich aan. Nu weet niemand wiens data erin zit en kan men het ook niet claimen. :Y)
En dat is dan ook precies een van de redenen dat ik die data wel zou willen. Dat houdt de produktie ervan eerlijk.

[Reactie gewijzigd door Llopigat op 9 januari 2025 16:01]

Waar noemen ze het opensource? Het is wel onder MIT licentie uitgebracht, maar dat betekent niet dat het opensource is, het is maar een licentie die gaat over hoe je het mag gebruiken (gratis dus, ook in commerciële toepassingen).

[Reactie gewijzigd door rustynut op 10 januari 2025 14:49]

Ja ik vind open source ook niet echt passend voor modellen want de data is toch wel een belangrijk aspect wat mist. Vaak gebruikt men de termen open weight en open data om het verschil te tonen.
Er is een officiële definitie van Open Source in AI van OSI: https://opensource.org/ai/open-source-ai-definition

Trainingsdata bijvoegen is niet vereist, maar wel veel andere elementen zoals dat het vrij gebruikt mag worden door iedereen voor alle doeleinden, en dat het duidelijk moet zijn hoe iemand met eigen trainingsdata het model kan trainen.
Mooi hoe Phi-4 als een klein model wordt gezien, terwijl het (zonder quantization) nog altijd 30GB aan VRAM vereist voor het model alleen. Met het huidge hardware aanbod wordt dat dus of inboeten aan performance of investeren in een GPU met veel VRAM.
Maar ja, wie gebruikt nu de 16 bit versie, laat staan de 8 bit versie?

Met een 4-6 (i)quant, en goed variabel geoptimaliseerd kun je zelfs een 21B model net binnen de 16GB VRAM draaien, en dat met toch goede resultaten en voldoende snelheid (21-30 tokens.sec).
Ik vind het ook wel bijzonder. Als je echter naar bijvoorbeeld https://www.reddit.com/r/LocalLLaMA/ gaat dan zal het wel als een klein model gezien worden. Ik vind het echt bizar wat voor opstellingen gebruikers daar hebben om lokaal een LLM te draaien.
Ja he, en hoe ziekelijk veel geld ze daaraan uitgeven. Sommige mensen hebben gewoon een paar ton aan GPU's staan daar. Allemaal ook spul dat extreem snel waarde verliest. Maar veel van die mensen doen ook echt aan serieus finetunen, dat wel, niet alleen inferentie. Maar toch... Daar heb je gewoon een huis voor.

Ik heb 400 euro uitgegeven voor mijn eigen server (GPU + nieuwe processor, de rest had ik al) en ik ben er tevreden mee (denk erover om er nog een tweede kaart bij te nemen om dedicated voor whisper en TTS te gebruiken). Heb maar 16GB maargoed, over een jaar of twee heb je ongetwijfeld dedicated hardware voor bijna niks.

[Reactie gewijzigd door Llopigat op 9 januari 2025 15:47]

Ik heb 'm net uitgeprobeerd op m'n laptop (Macbook pro M3 Max). En daar draait het erg snel, en zonder problemen. Gebruik ligt rond de 8GB ram, en een paar procent CPU, echt te verwaarlozen.

Natuurlijk is dit geen lullig laptopje, maar in de praktijk zou ik dit model wel echt 'klein' noemen! Totaal niet te vergelijken met een model waar je echt een flinke server voor nodig hebt.

Ben ook wel tevreden met de resultaten op 't eerste gezicht. Zeker tijdens het coden.
Zou het met 16GB ram kunnen draaien? Dan zou een Mac Mini M4 interessant kunnen zijn :)
Ollama? Die doet dan ook standaard quantization op basis van beschikbaar geheugen. Slim, dat maakt ollama toegankelijk, maar doordat je inboet op precisie haal je niet het volle potentieel van het model.

Dat gezegd hebbende. In de meeste gevallen zal dat prima zijn natuurlijk.
Had ik erbij moeten zeggen: ik gebruikte nu LM Studio, met dit model

https://huggingface.co/lmstudio-community/phi-4-GGUF

de Q4_K_M versie.

Ik heb mij er nog niet genoeg in verdiept, maar ben al verbaast dat het nu al zo veel beter werkt dan de vorige keer dat ik lokaal iets probeerde te runnen!
Het model is volgens Microsoft gericht getraind met output van andere modellen en geselecteerde documentatie zoals academische boeken en Q&A's
Het is onzinnig dat een AI-model een open source-licentie zoals MIT gebruikt, wanneer gaan ze hier een andere vorm aan geven?
Ze schrijven expliciet dat ze die boeken e.d. in licentie hebben genomen, dus ik vermoed dat deel van de overeenkomst ook wel expliciet maakt dat ze hun model MIT mogen licenseren.
Waarom onzinnig? Als commercieel bedrijf is het superhandig om te kunnen gebruiken en zelf te draaien ipv dat je via Azure moet afnemen.
Fijn om na Phi-2, Phi-3, Phi-3.5 nu ook Phi-4 te zien. Het begint toch wat te kriebelen om een opvolger van Fietje-2 te maken. :+ Fietje-4?

Wat me tegenhoudt, is dat ik niet weet of een 14B-model wel iets is waar Nederlandstalige onderzoekers/hobbyisten naar op zoek zijn. Is dat niet wat (te) groot voor velen om lokaal te draaien? Wat me aantrok aan Phi-2 was dat het zo krachtig was gegeven de "kleine grootte" (2.8B). Ik ben erg benieuwd naar wat de gemiddelde Nederlandstalige gebruiker eigenlijk wil als het om Nederlandstalige, lokale LLMs gaat - dus voel je vrij om hieronder je noden en ideeën te delen!
Ik ben wel benieuwd naar Fietje 4 obv Phi-4. De meeste kleine modellen stellen toch teleur in de Nederlandse taal.
Dat is waar, Llama 3.1-8b valt ook best tegen als ik er Nederlands in gooi. Nou praat ik er sowieso altijd Engels mee maar soms gooi ik er wel Nederlandse data doorheen en ik merk inderdaad dat hij daar veel meer moeite mee heeft.

Ook wel logisch natuurlijk. Met zo'n klein model kan je je beter op 1 taal richten.
3.3 8B zou normaal gezien al een tijdje uitmoeten zijn. Het werd meer dan een maand geleden aangekondigd toen de 70B model gepresenteerd werd.
Vreemd genoeg heeft ollama alleen de 70b versie ervan, niet de 8b: https://ollama.com/library/llama3.3/tags

Maargoed, ik heb niet echt veel aan een gecensureerde LLM, en van 3.1 is een ongecensureerde versie. Dus ik wacht daar wel op voor ik met 3.3 begin.

Edit: Eh ik zie hem ook niet op huggingface. Lijkt erop dat 3.3 echt alleen maar voor de 70b variant is. Ik vind er ook geen aankondiging van terug.

[Reactie gewijzigd door Llopigat op 9 januari 2025 20:25]

Ik heb nu phi 4 13b geïnstalleerd in q4, het werkt ontzettend goed
Ik doe vanuit onderwijsperspectief experimenten voor lokale LLM's. Net ook even met Phi-4 wat tests gedraaid. Ik ben wel onder de indruk van de Nederlandstalige resultaten. Heb vele modellen getest. Mijn indruk is dat er rond de 10 miljard parameters een soort omslagpunt is en dat antwoorden van modellen dan ineens echt goed worden. Dus 14 miljard zit wel in de sweetspot.

Waar je mij blij mee maakt? Grote context windows staat dan op nummer 1!
Voor grote context windows: Ollama heeft sinds kort ook Key/Value quantification. Tot dan toe was context altijd fp16 (met ollama tenminste, andere inferentie engines hadden het al eerder) en daarom extreem geheugenverslindend. Zeker als je maar een kleine kaart had. Context is behoorlijk 'duur' qua geheugengebruik.

Als je nu je context quantificeert naar q8_0 dan heb je al 2x zoveel context! Maar zelfs dan nog: Met llama 3.1-8b-q8_0 en q8_0 kan je alsnog niet de volledige 128k tokens aan context kwijt op een 16GB GPU. Je komt aan ongeveer 80k tokens en dan zit het vol.

Ik vind het ook wel jammer dat er van llama3 geen 14b model is, maar alleen 8b of 70b. Voor 70 zit je gelijk aan echt serieuze investeringen aan hardware.

[Reactie gewijzigd door Llopigat op 9 januari 2025 15:52]

Er is wel een llama-vision3.2 11b.
Ja klopt maar dat is gewoon het 8b model met 3b parameters voor de vision toegevoegd. Dat maakt de tekst processing niet beter. Ik gebruik het wel eens maar ik heb meestal geen noodzaak voor beeldherkenning dus dan pak ik de 8b. Ik zou liever een model hebben met meer parameters voor tekst.

[Reactie gewijzigd door Llopigat op 9 januari 2025 16:05]

Alles wat op een 4090 (5090) kan draaien kan interessant zijn voor prosumers.
@arnoudwokke Grappig het model zelf is er van overtuigd dat zijn data tot oktober 2023 gaat. Als het op commoncrawl getraind is, is dat niet zo gek, want daarna is het aantal sites dat bezwaar maakte flink toegenomen.

Dataset 2023-40:
October 2023 and contains 3.4 billion web pages
Er voor en er na waren minder web pagina's in de data sets. Heel veel minder zelfs tegenwoordig. 2023-40 is zeg maar de historische piek, het data summum.

Dataset 2024-51:
December 2024 contains 2.64 billion web pages.
Dus ik kan me indenken dat je 2023-40 neemt als trainingsset en dan alleen extra kennis toevoegd indien relevant en beschikbaar.

[Reactie gewijzigd door djwice op 9 januari 2025 23:08]

Fijn, dan kunnen we het model ook kwantificeren naar int8 voor de CoPilot+ laptops, zodat het zeer efficiënt draait op de NPU.

Op dit item kan niet meer gereageerd worden.