Šta je novo?

Lokalno korišćenje AI modela

Space Beer

Moderator
Urednik
Super Moderator
Učlanjen(a)
09.01.2011
Poruke
6,302
Poena
585
Šta i kako koristite od lokalnih modela i programa? Skoro sam naleteo na Jan. Ima vulkan llama backend, pa radi i sa AMD kartama bez rocm podrške. Sporije, ali brže od CPU varijante, kod mene oko 3x (RX 6600 vs R7 5700X)

Onlyoffice je dodao plugin za lokalni AI, može biti dobra alternativa za MS i copilot
 
Ja baš sad krenuo da pitam nešto slično.
Treba mi neki LLM koji bih terao lokalno. Uz pomoć njega bih treba da napravim mali sažetak lekarskog izveštaja.

Koliko sam video mogao bih da koristim Ollama. Sad deluje mi je da je to mnogo skuplja opcija nego da koristim neki api. A opet trebao bi mi lokalno zbog privatnosti.
 
Kako misliš skuplje? Struja koju trošiš?

Koliko sam video, većina programa je zapravo Ollama frontend, ako ti treba tako nešto. Možeš i direktno iz terminala, ili iskoristiti server sa nekim drugim programom (kao npr. ovaj Onlyoffice add-on)
 
Pa mislio sam na server koji moram da platim da hostujem taj model. Ja pravim aplikaciju koja bi preko nekog apija trebalo da komunicira sa tim LLM-om, znaci prosledim mu promt, a on mi vrati rezultat. Bar sam ja to tako zamislio, ne znam da li postoji jos neki bolji nacin.

I sad recimo gledao sam neke modele, deluje mi da mi treba neki jaci server za to, da ima tipa 8-16GB rama, vervovatno da ima i graficku.
 
LM Studio isto ima vulkan podrsku, ollama(rocm) uz open-webui solidan izbor. Od novijh modelai probao sam Qwen3. Nista ozbiljno, par promptova i to je to... Fino se pokazao za tagovanje bookmark-ova i fotografija, na laptopu sa 12Gb ram-a. Zanimljivo u kombinaciji sa Aider-om takodje. Meni sa HSA_OVERRIDE_GFX_VERSION=10.3.0 na RX 6700XT radi rocm, mislim da sam video da su i RX6600 radile...
 
Uspeo da instaliram rocm sa RX 6600 u kontejneru (podman, distrobox), ali ne i da pokrenem ollama-u s tim. Tu je, radi u Blenderu, ali ollama mi izbacuje da pogledam spisak :D Videću kakve su mi još opcije, mada nije mi to prioritet. I da samo CPU radi, za moje potrebe je dovoljno.

Pa mislio sam na server koji moram da platim da hostujem taj model. Ja pravim aplikaciju koja bi preko nekog apija trebalo da komunicira sa tim LLM-om, znaci prosledim mu promt, a on mi vrati rezultat. Bar sam ja to tako zamislio, ne znam da li postoji jos neki bolji nacin.

I sad recimo gledao sam neke modele, deluje mi da mi treba neki jaci server za to, da ima tipa 8-16GB rama, vervovatno da ima i graficku.
Ok, nismo se razumeli. Mislio sam da ti treba lokalno na tvom računaru, samo za tebe. U tom slučaju jeste tako, teško da možeš iznajmiti server koji bi po ceni bio konkurentan velikima.
 
Uspeo da instaliram rocm sa RX 6600 u kontejneru (podman, distrobox), ali ne i da pokrenem ollama-u s tim.

Evo docker compose koji meni radi, pa ako zatreba mozes da probas...

YAML:
services:
  ollama:
    container_name: ollama
    image: ollama/ollama:rocm
    devices:
      - /dev/kfd
      - /dev/dri
    environment:
      - HSA_OVERRIDE_GFX_VERSION=10.3.0 # for AMD GPU support
    volumes:
      - /home/$USER/Projects/ollama:/root/.ollama
    ports:
      - "11434:11434"

  open-webui:
    container_name: open-webui
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "3000:8080"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - /home/$USER/Projects/open-webui:/app/backend/data
    environment:
      # - 'OLLAMA_BASE_URL=http://ollama:11434'
      - "OLLAMA_BASE_URL=http://localhost:11434"
      - "WEBUI_AUTH=False"
    depends_on:
      - ollama
      
  # openai-edge-tts:
  #   container_name: openai-edge-tts
  #   ports:
  #       - 5050:5050
  #   environment:
  #       - API_KEY=your_api_key_here
  #       - PORT=5050
  #       # - DEFAULT_VOICE=en-US-AvaNeural
  #       # - DEFAULT_RESPONSE_FORMAT=mp3
  #       # - DEFAULT_SPEED=1.0
  #       # - DEFAULT_LANGUAGE=en-US
  #       - REQUIRE_API_KEY=True
  #       # - REMOVE_FILTER=False
  #       # - EXPAND_API=True
  #   image: travisvn/openai-edge-tts:latest
 
Pa mislio sam na server koji moram da platim da hostujem taj model. Ja pravim aplikaciju koja bi preko nekog apija trebalo da komunicira sa tim LLM-om, znaci prosledim mu promt, a on mi vrati rezultat. Bar sam ja to tako zamislio, ne znam da li postoji jos neki bolji nacin.

I sad recimo gledao sam neke modele, deluje mi da mi treba neki jaci server za to, da ima tipa 8-16GB rama, vervovatno da ima i graficku.
Stavi na papir šta ti se više isplati. Enterprise ChatGpt ima nda gde se eksplicitno navodi da neće koristiti podatke za obučavanje modela, garantuju privatnost. Moja firma se zato odlucila da nam placa ChatGpt. Ili proveri kakva je situacija po pitanju privatnosti podataka u “plus” pretplati, možda ti i to može završiti posao.

Plus, ima tu još jedna stvar, ako tvoja aplikacija bas zavisi od ai integracije, kada koristiš model na nekom svom serveru, ti si taj onda koji svojim korisnicima garantujes da će funkcionalnosti biti dostupne odredjeno procenat vremena, kako već napraviš sla. Kada koristiš ChatGpt npr, onda to delegiras na njih. Hoću da kažem, u tom slučaju nemaš neko održavanje servera, ne moraš da implementiran neki monitoring i alarme ukoliko se nešto desi sa tim serverom, ne brineš o skaliranju itd… Treba sve to staviti na papir pa videti šta je isplativije.

Eksperimentisao sam lokalno sa Jan-om, fino to radi sa “jačim” modelima.
 
Da, ovo što treba prvo da uradimo nije nešto zahtevno, više je za zagrevanje sto bi rekli. Posle ćemo raditi neke ozbiljnije stvari. Ali posto je medicinski softver u pitanju, moramo zadovoljiti HIPPA sertifikat. Tako da moram izučiti kako to funkcioniše sa open api i slično.

Al ovako na prvu loptu mi deluje da nema šanse da server koji bih plaćao bi bio jeftiniji od open ai api ili slično. Plus taj model koji bih ja terao je verovatno lošiji od njihovog.
 
Nisam 100% siguran, proveri, ali da bi ti na svom sajtu mogao da napises da si hippa compliant, istim da ne postoji nikakva zvanicna sertifikacija. Postoje neke 3rd party firme koje mogu da urade audit i da kažu jeste ti si hppa compliant, ali koliko znam to nije obavezno. Proveri dobro, nisam potpuno siguran.
 
Tako je, ima neki set pravila koje moras da zadovoljiš i onda kad ti neko uradi audit, proveri da li si sve ispunio.
Nisam još stigao do tog dela da vidim kako to ide, Al sam kontao svakako da ne bih smeo da šaljem sensitiv podatke LLM-u.
 
ispace da smo skrenuli diskusiju u nekom drugom smeru i oteli temu OP-u i izvinjavam se zbog toga. Ovde prestajem. Svakako to potpada pod PI(personal information), plus su medicinski podaci i to je njihov zakon veoma strog. Kada dodjes do toga, možda da razmisliš da platiš neku konsultaciju advokata koji je specijalizovan za to.
 
Da, malo smo skrenuli.
Ali deluje mi da self host LLM nije baš jeftina igračka.
 
Ima tu još jedna stvar, modeli jako brzo napreduju oni od pre 2 godine su smešni za današnje pojmove, a ta self host rešenja em ćeš morati da ideš na znatno slabiji model, em će isti biti pregažen jako brzo. Osim ako model nije treniran na tvojim podacima nema razloga da se ne ide na neko public rešenje...
 
Šta i kako koristite od lokalnih modela i programa? Skoro sam naleteo na Jan. Ima vulkan llama backend, pa radi i sa AMD kartama bez rocm podrške. Sporije, ali brže od CPU varijante, kod mene oko 3x (RX 6600 vs R7 5700X)

Onlyoffice je dodao plugin za lokalni AI, može biti dobra alternativa za MS i copilot
Ja koristim Kerlig kao frontend, Ollama za backend. Raycast je omogućio da se besplatno koriste lokalni modeli. LM Studio je dosta rasprostranjen i najviše tutorijala ima za njega. Ima i Cherry Studio.

@zholinho Baci oko na ovaj thread
 
Može da se napravi lokalno, ali treba ozbiljna mašina za 70b model. Da se istrenira i/ili napravi RAG. Zavisi dosta od obima korišćenja i broja korisnika.
 
Mi smo za dev koristili jednu uz 128GB RAM-a i radilo je fino, ali za upotrebu u nekoj firmi gde bi je koristilo x ljudi odjednom...

Ja sam se igrao na laptopu sa 16GB RAM-a i još 4 na 1650pro. Mogu da poteram 7 i 8b modele klot da rade ok, za RAG (chromadb sa nekim većim tekstovima) mu sa 3,2b modelom treba oko 10s za odgovor, da krene da odgovara. ( :
 
GPT(ili bilo koji Frontier model) i privatnost podataka ne idu u istu rečenicu. Ako kompanija koristi frontier model za profesionalni razvoj, deli podatke sa provajderom i isti se koriste za tuning llm modela šta god ti potpisao. Ozbiljne kompanije ne koriste frontier modele za svoj posao, treniraju svoje.

2x3090 može da potera 70B model sa prelivanjem, i to je to. Meni je donji limit 20 tokena/sek, sve ispod toga(35B+) nije za rad i razvoj na lokalnoj mašini. Za Agenta ti treba najmanje tri modela i oko 70GB video ram-a za sistem do 10 korisnika.

1749390596204.png
 
Poslednja izmena:
trening 16B FP16 modela, kontrolisan context len da izbegnem prelivanje na sistemski ram...
1749392663621.png
 
mix - pdf, xml, html, json, flat files... 100k+ linija po fajlu, summarizer i helper modeli generišu json za fine tuning modela na kojem radim.
 


Ево детаљног резимеа видео презентације у 100 реченица.

Резиме презентације: "Суперпуњење вештачке интелигенције на рачунару са TensorRT за RTX"

  1. Презентацију под називом "Суперпуњење вештачке интелигенције на рачунару са TensorRT за RTX" држи Гунђан Мехта, продукт менаџер у компанији NVIDIA.
  2. Гунђан се представља као члан софтверског тима за АИ платформе, са фокусом на решења за инференцију.
  3. Главна тема је нова библиотека под називом TensorRT за RTX, која је недавно најављена на Build конференцији.
  4. Ова библиотека је посвећена покретању локалне вештачке интелигенције на RTX графичким процесорима (GPU).
  5. Презентација почиње са прегледом седмогодишње историје иновација у области АИ рачунара са GeForce RTX технологијом.
  6. NVIDIA истиче да постоји преко 100 милиона RTX АИ рачунара и више од 750 игара и апликација које користе RTX АИ.
  7. Путовање је почело 2018. године увођењем Tensor језгара, специјализованог хардвера за АИ.
  8. Прва велика примена била је намењена гејмерима кроз технологију DLSS (Deep Learning Super Sampling).
  9. DLSS користи вештачку интелигенцију за узорковање и генерисање додатних фрејмова, чиме се побољшавају перформансе у играма.
  10. Године 2019. фокус се проширио на вештачку интелигенцију за креаторе садржаја кроз NVIDIA Studio.
  11. Већ 2020. године, NVIDIA је представила АИ решења за емитере (broadcasters) кроз NVIDIA Broadcast.
  12. У 2023. години, иновације су донеле АИ за видео ентузијасте са технологијом RTX Video.
  13. Година 2024. донела је АИ за кориснике продуктивних алата, као што је ChatRTX.
  14. За 2025. годину, најављена је вештачка интелигенција за програмере кроз NIM (NVIDIA Inference Microservices) на RTX платформи.
  15. NIM-ови су упакована, оптимизована и комплетна АИ решења која олакшавају развој и имплементацију.
  16. Ова решења су оптимизована помоћу NVIDIA софтверског стека, где кључну улогу игра TensorRT.
  17. NVIDIA убрзава целокупан животни циклус АИ на рачунарима, од развоја до имплементације.
  18. За експериментисање и развој, истраживачи често користе PyTorch, који NVIDIA убрзава помоћу CUDA платформе.
  19. За брзо прототипирање, NVIDIA нуди NIM-ове, који су унапред оптимизовани модели.
  20. Ови NIM-ови користе TensorRT за максимално убрзање на RTX хардверу.
  21. Такође се подржавају и отворени оквири попут Llama.cpp, који се убрзавају преко CUDA-е.
  22. Када је реч о имплементацији апликација, програмери могу користити NVIDIA АИ SDK-ове.
  23. Ови SDK-ови су спремни за интеграцију и користе TensorRT за убрзање АИ функција.
  24. Други важан пут за имплементацију је преко Windows ML (Machine Learning) платформе.
  25. Програмери могу користити своје моделе у ONNX формату, који је стандард у индустрији.
  26. Windows ML користи ONNX Runtime као основу за извршавање модела.
  27. NVIDIA је развила TensorRT као провајдера извршења (Execution Provider) за ONNX Runtime.
  28. Ово омогућава да се, када је RTX GPU присутан, операције аутоматски делегирају на TensorRT.
  29. На тај начин се постижу значајно боље перформансе уз коришћење стандардизованог Windows ML API-ја.
  30. Програмери се суочавају са три главна изазова при изградњи локалних АИ апликација.
  31. Први изазов су високи рачунарски захтеви и потреба за ниском латенцијом.
  32. АИ модели захтевају огромну процесорску снагу да би радили брзо и пружили добро корисничко искуство.
  33. Други изазов је фрагментација хардвера и софтвера.
  34. Тржиште је испуњено различитим CPU, GPU и NPU јединицама, свака са својим софтверским решењима.
  35. Трећи изазов је сама имплементација апликација на рачунаре, укључујући величину апликације и потрошњу ресурса.
  36. NVIDIA TensorRT је представљен као унификовани оквир за убрзање на NVIDIA GPU-овима, од облака до личног рачунара.
  37. TensorRT може да оптимизује моделе из свих популарних оквира као што су PyTorch, TensorFlow и ONNX.
  38. Оптимизовани модели могу се покретати на широком спектру NVIDIA хардвера.
  39. Ово укључује дата центар GPU-ове попут B100 и H100, професионалне L40S картице, и потрошачке RTX картице.
  40. Подржане су и аутомобилске платформе (DRIVE) и уграђени системи (Jetson Orin).
  41. TensorRT такође подржава и NVIDIA DLA (Deep Learning Accelerator), специјализовани чип.
  42. Програмери су до сада користили "пре-оптимизациони" ток рада са TensorRT-ом.
  43. Овај ток подразумева креирање АИ модела, његову оптимизацију, генерисање TensorRT "мотора" и његово паковање у апликацију.
  44. Овај приступ доноси значајна убрзања у поређењу са стандардним решењима попут DirectML.
  45. Приказани су примери где TensorRT доноси убрзање од 1.5x до 2x у популарним апликацијама као што су ComfyUI и DaVinci Resolve.
  46. Ови резултати су мерени на моћној GeForce RTX 4090 графичкој картици.
  47. Међутим, овај старији приступ имао је изазове за програмере (ISV).
  48. Ток рада је био комплексан, а генерисање "мотора" је могло да траје неколико минута.
  49. Инсталациона величина је била велика, око 1.5 GB, што је оптерећивало финалну апликацију.
  50. Постојала је и некомпатибилност "мотора" између различитих оперативних система.
  51. Портабилност "мотора" је била ограничена, чак и између различитих генерација RTX картица.
  52. Коришћење "мотора" на GPU-у за који није специфично компајлиран могло је довести до губитка перформанси до 20%.
  53. Да би се подржало више модела на више GPU-ова, било је потребно испоручити огроман број различитих "мотора".
  54. Да би се решили ови проблеми, NVIDIA уводи нову библиотеку: TensorRT за RTX.
  55. Ово је наменска библиотека која поједностављује имплементацију на GeForce RTX и RTX PRO GPU-овима.
  56. Кључна иновација је "Just-In-Time" (JIT) компилација.
  57. Уместо пре-компајлирања, "мотор" се финализује на уређају корисника за мање од 30 секунди.
  58. Интеграција је олакшана кроз Windows ML, што је најједноставнији пут.
  59. Величина библиотеке је драстично смањена на мање од 200 MB.
  60. Подржана је било која RTX картица са Tensor језгрима, као и различити типови модела.
  61. Постоје два начина за коришћење: преко Windows ML или као самостални SDK.
  62. Пут преко Windows ML је најлакши, јер систем аутоматски преузима потребне компоненте.
  63. Самостални SDK нуди напредну контролу за програмере који желе више флексибилности.
  64. SDK пружа C++ и Python API-је, као и контролу над кеширањем и другим напредним опцијама.
  65. Нови процес компилације је двостепен.
  66. Први, "Ahead-of-Time" (AOT) корак, ради се офлајн, без потребе за GPU-ом.
  67. У овом кораку се врше GPU-агностичке оптимизације графа модела.
  68. Резултат је интермедијарни, "JIT-абилни" мотор, који је веома мали (неколико килобајта).
  69. Други, "Just-in-Time" (JIT) корак, дешава се на уређају корисника.
  70. JIT компајлер користи информације о конкретном GPU-у да генерише финални, високо оптимизовани извршни "мотор".
  71. Прво генерисање кернела траје око 5 секунди, док су сва наредна покретања скоро тренутна захваљујући кеширању.
  72. Овај приступ доноси до 20% боље перформансе у поређењу са старим компатибилним "моторима".
  73. TensorRT за RTX наставља да пружа боље перформансе од DirectML-а, у просеку 1.5x брже.
  74. Квантизација, процес смањења прецизности модела, доноси додатна убрзања.
  75. За генерисање слика са FLUX моделом, прелазак са BF16 на FP4 прецизност доноси 2.7x убрзање.
  76. За генерисање видеа са LTX моделом, прелазак на FP8 прецизност доноси 2.3x убрзање.
  77. Приказан је демо Topaz Starlight Mini, алата за рестаурацију видеа.
  78. Овај алат користи АИ да побољша квалитет старих, зрнастих снимака.
  79. На RTX 6000 Ada картици, TensorRT за RTX је постигао преко 50% боље перформансе од стандардног PyTorch-а.
  80. Затим је уследио демо уживо у Jupyter Notebook-у.
  81. Први део демоа је користио LTX Video 2B модел за генерисање видеа из слике.
  82. Стандардна Torch имплементација је генерисала видео за око 36 секунди.
  83. TRT-RTX са BF16 прецизношћу је исти задатак завршио за 22 секунде.
  84. Хибридна FP8 + BF16 имплементација је била још бржа, завршивши за само 18 секунди.
  85. Ово представља двоструко убрзање у односу на оригиналну имплементацију.
  86. Други део демоа је приказао FLUX модел за генерисање слике из текста на RTX 5090 картици.
  87. Овај демо је користио Windows ML и ONNX Runtime пут.
  88. Код јасно показује како се бира "NvTensorRTExecutionProvider" за извршавање.
  89. Покретање на FP8 прецизности је генерисало слику за око 8.8 секунди.
  90. Затим је покренута иста операција, али са FP4 прецизношћу.
  91. Генерисање слике је трајало само 5.3 секунде.
  92. Поновно покретање истог задатка је било још брже, око 4.3 секунде.
  93. Ово демонстрира ефекат кеширања и "True Dynamic Shapes" функције.
  94. Када се кернели једном генеришу и кеширају, наредна извршавања су знатно бржа.
  95. На крају, презентација сумира кључне предности TensorRT за RTX.
  96. То су: најбоље перформансе, лакоћа коришћења и једноставна имплементација.
  97. Програмери добијају значајно убрзање кроз једноставан и флексибилан ток рада.
  98. Публика је позвана да сазна више на званичној NVIDIA developer страници.
  99. Такође су позвани да се придруже NVIDIA RTX AI Developer заједници на Discord-у за вести и подршку.
  100. Презентација се завршава сесијом за питања и одговоре.
 
Nazad
Vrh Dno