Bylo to už v první polovině prosince, ne tento týden. Včera tam jen doplnili odkaz na whitepaper.
Phi4 nám ve firmě úplně vytlačil další malé modely jako Qwen2.5 14B. Je velmi dobrý na asistenční úlohy jako vysvětlení textu, překlady s pochopením nuance (hlavně z asijských jazyků které jsou náročné na kontext), nebo vyhledávání na webu a následnou tvorbu reportů s citacemi. Je konzistentní, například překlady z Čínštiny chceme vždy v nějaké formě (překlad, tabulka hanzi s výslovností a významy, tabulka větných celků s komentáři atd) a tohle je první model, který dělá výstupy vždy v zadané formě. A hlavně je maličký a rychlý, všechno se děje interaktivně (máme směsku Apple M2/M3 a různých mid-range PC desktopů).
10. 1. 2025, 09:09 editováno autorem komentáře
Zajímavé. Jsem v AI poučený laik, ale těch pár instalačních příkazů jsem zkusil. Vzorový dotaz jel na 6 jádrech 50 sekund. Dal jsem mu poměrně složitý dotaz v češtině ohledně jazzových skladeb pro pěvecké sbory a za necelé 4 minuty vyplivl docela smysluplnou českou odpověď.
Na čem to ve firmě spouštíte, že to můžete používat pro interaktivní práci (tj. odpovědi do několika sekund? Díky.
10. 1. 2025, 09:53 editováno autorem komentáře
GPU je dost rozdíl, no :) lidi s jablíčkama to mají na onboard GPU/NPU co je v těch nových M čipech, tam to běhá velice slušně i na macbooku. Trošku pomalejší prompt processing (čekáte 5 sekund na první token), ale pořád příjemné.
Na desktopech jsou většinou nějaké starší herní grafiky (nvidie 3070, radeony 7600xt a podobně), tam tyhle malé modely lítají svižně, pokud se vejdou do VRAM (i s celým kontextem).
Ollama použije buď CUDA nebo ROCm, což je výkonnější, ale můžou s tím být problémy: např. u těch sedmitisícových Radeonů se musí nastavovat proměnné prostředí (HSA_OVERRIDE_GFX_VERSION, HCC_AMDGPU_TARGET) protože ač jsou plně kompatibilní, driver je oficiálně nepodporuje. Takže používáme Vulkan (llama.cpp a llama-swap), kde je sice výkon o nějaké desetiny nižší, ale nejsou tam tyto problémy.
Jo, používáme většinou Q6 quant (Phi4 má efektivně 6.56 bitů na parametr), takže z 16GB GPU zbyde 5-6 GB na kontext. S kvantizací KV cache (kontextu) se paměť naplní až kolem 6000 tokenů, kdy začne Vulkan driver swapovat mezi RAM a VRAM, čímž se to trochu zpomalí.
Nemám k tomu žádná čísla, protože jednak je většina práce s kontexty o řád kratšími, a jednak ani to zpomalení není tak velké. Nebolí nás to... na to naše troškaření je to luxus. GPU server za dva míče jak tady píše kolega nemáme :D
Kdyby to náhodou prošlo schvalováním, snažíme se tady udělat poloprofi fb skupinu zaměřenou na primárně na hackování a vývoj (s) llm: https://www.facebook.com/groups/ai.vyvojari
Přijde mi, že těch českých je dost hlavně na diskuze o vypromptování co nejdivněji učesané čivavy na divném místě a jinak nic moc, tak jsme to zkusili založit..
připojuji se k tomu, že jablíčka jsou na to skvělá, máme to podobně. Jinak pro širší práci používáme Jupyter s cuda a nvida tesla karty, tam na jednom serveru za necelá dvě mega obsloužíme asi 100 uživatelů/analytiků pro jejich práci.
Osvědčujeme se nám to jak asistent pro práci, něco ověř, něco dohledej, tady máš json a udělej mi schéma tabulky pro Oracle. Hele mám tady tuhle chybu, nevíš, co je špatně? A podobné dotazy. Dříve ti lidé psali zkušenějším kolegům a bralo to čas, dneska si to jsou schopni vyřešit tak nějak sami a to je ta úspora.
Phi-4 mě také překvapil, u nás to vyšachovalo zejména asi mistral a malou llamu.
na projektech máme zejména p100 a v100 (většinou v jednotkách až desítkách ks), nekupovali se kvůli LLM, ale tak nějak se na to dnes používají.
Porovnávní existuje, ale s rychlostí jakou se ty modely vyvíjí, s jakou se hledají use cases, s jakou ten obor roste, jsem se zatím nedostal k projektu, který by byl vyloženě AI driven od počátku.
Je to v aplikaci, u nás teď "frčí" doplněk do prohlížečů https://pageassist.xyz/ (Chrome i Firefox). Umí to kontextové věci s aktuální stránkou (označím text, right click, explain/translate/summarize), chat s celou stránkou (nastuduj si tady ten dlouhej elaborát na denikn.cz a pak se tě budu ptát), a když otevřete GUI přímo toho add-onu, tak jste v UI podobné chatgpt, kde normálně konverzujete, a můžete si i zapnout web search.
Pod kapotou to funguje tak, že modelu v system promptu aplikace řekne, co má k dispozici za nástroje a jak je volat. Model, když se rozhodne že chce, jen patřičný JSON vyplivne, aplikace to odchytí, a provede například to vyhledání na webu.
Ještě jsem se chtěl zeptat ohledně těch nástrojů - zkoušel jsem bez úspěchu hledat v githubu pageassistu, kde aplikace předává modelu instrukce k těm dostupným nástrojům, a nedařilo se mi najít žádné místo, kde by plugin pro model formuloval nějaký anglický text, popisující využití a specifikaci daného API. Na ty nástroje má model už nějaké standardizované rozhraní, aby se dlouhý popis nástrojů nemusel pokaždé lepit do kontextu? Copilot mi IMO vracel blbosti. Díky!
10. 1. 2025, 14:54 editováno autorem komentáře
Rozhraní úplně ne, je to prostě plaintext (JSON, vzácněji XML) přibližně ve tvaru, v jakém ten model na tool-calling trénovali.
Page Assist používá LangChain, což je asi nejpoužívanější knihovna na tohle. Zařídí tool-calling (a další věci) ve tvaru vhodném pro daný model. Není to ale nutnost, je to docela tlustá abstrakce a to programování okolo je jednoduché. API jazykových modelů je přirozený jazyk, prostě se domluvíte :-)
10. 1. 2025, 15:28 editováno autorem komentáře
Díky moc. Zapnul jsem debugger addonů a odchytil komunikaci s modelem. Ten addon z dotazu sám vytáhl URL, načetl obsah stránky, přes model vyrobil embeddings z textových bloků článku (asi pro následný RAG), a pak se modelu zeptal promptem https://github.com/n4ze3m/page-assist/blob/d980b8da85b2e699ffd8d2b6698372d11aa45841/src/services/ollama.ts#L24 , do kterého nastrkal ty textové bloky článku. Takže model v tomto případě nemusel zpětně žádat addon o dodatečné stažení nějakého URL přes nějaký formát API.
Zkusil jsem model přinutit, aby addonu poslal požadavek na stažení nějakého URL (tedy ten zpětný požadavek do aplikace) a nic se mi v odpovědích nepodařilo najít. Přišlo mi, že addon v režimu search automaticky přidává prompt https://github.com/n4ze3m/page-assist/blob/d980b8da85b2e699ffd8d2b6698372d11aa45841/src/services/ollama.ts#L35 , aby model úvodní otázku přeformuloval do dotazu, ten addon v dalším kroku pošle googlu a výsledky předá modelu ke shrnutí (ale postup natvrdo).
V režimu RAG na dotazy "Find ... on internet" rovnou odpovídá, že nemá přístup k internetu. Čekal jsem, že addon v promptu informuje model, aby v případě přístupu na internet poslal požadované URL/požadavek na search (právě specifikací nějakého API na stažení URL), ale nezdá se mi, že by to addon dělal/uměl. Ale možná jsem jenom blbě koukal, ten addon je dost komplikovaný.
Díky za trpělivost :-)
Je možné, že jsem si to spletl :) používám ještě Open Webui (silné a dnes asi standardní UI pro LLM) a LibreChat (umí např. Artifacts), a někdy mi to splývá.
To video s LibreChat vypadá fajn, ale dokumentace (a podivný způsob konfigurace, neschopnost vylistovat modely, ...) koukám je vysoce kvalitní peklíčko. :D Po hodině nemám funkční ollama :D Polovina kejklí s docker-compose v dokumentaci není, něco jsem dohladal na youtube, něco na redditu, ... Ani to nepoužilo lokální běžící ollama ale stáhlo si to svou docker kopii. (too je snad šance změnit) Nakonec se to stejně celé sesypalo protože v tom hlavním kontejneru při prvním promptu spadne nějaký puppeteer postinstall script.
Mám v tom nějakou úplně blbost?
custom:
- name: "Ollama"
apiKey: "ollama"
baseURL: "http://host.docker.internal:11434/v1/"
models:
default: [
"llama3:latest"
]
fetch: false # fetching list of models is not supported
titleConvo: true
titleModel: "current_model"
summarize: false
summaryModel: "current_model"
forcePrompt: false
modelDisplayLabel: "Ollama"
plus jsem do docker compose odkomentoval připravený ollama blok
Nebolo to však doteraz zverejnené. Ja som nový model zachytil ešte v decembri v článku:
Viac krát som ho hľadal ale nedal sa vyhľadať. Potvrdzuje to aj komentár k danému blogu:
MathiasSchindler
Copper Contributor
Jan 03, 2025
"and will be available on Hugging Face next week. "
I would like to echo the other commenters: Please make it available, please.
Hneď ako to zverejnili, tak to spojaznili aj na Ollame.
Není to tak. Microsoft jen neaktualizoval blog post, to je celé.
11 Dec to bylo k dispozici na ai.azure.com. Vím, protože jsem to od tama stahoval minuty po oznámení zákazníkům, a půl hodiny potom už hackoval llamu.cpp :D
13 Dec bylo veřejné oznámení (to, na co odkazujete). V původní verzi textu byl odkaz ke stažení na Azure a info, že na HF to bude "next week" (archiv z Dec 13).
Gustavo de Rosa byl ale rychlejší, takže to na HF bylo hned. Bohužel to ale některé pomalejší čtenáře zmátlo, a i na přímý odkaz člověka s @microsoft v profilu reagovali slovy že si "počkají na oficiální vydání" – pro spoustu je totiž AI model oficiální jen pokud je na HF a má quant od @bartowski nebo The Bloke xD a nějaký neoficiální hosting na korporátním webu nějakého softwarového giganta je nezajímá.
Přesto si toho širší komunita rychle všimnula. Hromada reddit diskuzí, oznámení na HN, atd. Byl založen feature request v llama.cpp.
15 Dec byl boom Phi4 na pop-tech YouTube kanálech, stovky tutoriálů jak si to nainstalovat. Nešlo se toho zbavit. Všechno ollama a jejich repozitáře.
19 Dec byl začleněn pull request s plnou podporou.
Jan 8 byl vydán Technical Report (z Dec 12) a aktualizován zapomenutý blog post.
To som si domyslel, že to zrejme máte z Azure. Azure je však platený. Je to bonus pre platiacich zákazníkov, že majú model skôr, ako široká verejnosť. (Ten tutoriál na ktorý odkazujete, používa neoficiálne verzie Phi-4. Viac takýchto verzií som si všimol aj na Ollame aj na Hugging Face.)
K dispozícii pre verejnosť je od včera, keď sa stal dostupným na Ollame a na Hugging Face. Síce tam vidno že súbory boli nahrané skôr, ale sám repozitár bol neverejný.
Ja nesporím, že ste Vy a mnohí ďalší ste s tým modelom experimentovali skôr. Vy však nie ste široká verejnosť. Formulácia model bol zverejnený pre verejnosť je preto korektná.
Člověče :D odkazujete na veřejný blog z 13. prosince, ze kterého vedou odkazy na Azure AI Foundry, kde ty modely (všechny) jsou volně ke stažení. Pro všechny přihlášené. Můžete se přesvědčit prostřednictvím archive.org, že to tam skutečně bylo už před měsícem.
My jsme to měli o dva dny dřív, 11 Dec, a ti v preview channelu ještě o něco víc. Oficiální vydání bylo a je třináctého.
Opravdu to není nic tajného a nekoná se žádná konspirace. Jen si pár chytrolínů špatně vyložilo blog a pak to do nekonečka davy pisálků a botů opisují.
Zkusil jsem to v ubuntu, pomoci 'snap install ollama'. Problem je ze snap instaluje ollama do /var/snap, a ollama tam taha i binarni bloby modelu. Takze je potreba pomerne velke misto na root parition. Coz ja nemel, takze jsem to musel odrbavat symlinkem /var/snap/ollama/common/models do adresare na velkem disku. Ollama ma mit moznost nastavit systemovou promennou kam ma ukladat modely, ale to mi nefungovalo, a dle diskuzi s tim meli problemy i jini.
No ale funguje to hezky, diky za zpravicku.
Muzete zkusit misto snapu docker nebo podman. Jestli budete zkouset vice sluzeb, docker image je casty zpusob distribuce.
1. Vytvorte soubor docker-compose.yml
2. Spustte "docker compose up -d"
services:
ollama:
image: ollama/ollama
ports:
- 11434:11434
volumes:
- ~/.ollama:/root/.ollama
Modely se vam budou ukladat do ~/.ollama. To az se budete pidit, kam vam mizi misto na disku :-)
Anebo jestli mate C/C++ a Go kompilator, tak Ollamu rozjedete za par minut bez snapu a dockeru:
git clone https://github.com/ollama/ollama.git cd ollama make ./ollama serve
11. 1. 2025, 18:58 editováno autorem komentáře
Mně na starším mintu bezproblémově zafungoval přímo instalační skript of ollamy https://ollama.com/download/linux .