(Acest articol a fost publicat pentru prima dată pe Modele de peisaje maritimeși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Această postare a fost publicată inițial pe site-ul nostru colaborativ substiva. Vizitați site-ul pentru a ne urmări și pentru a citi mai multe postări similare.
Scris în comun de Chris Brown, Scott Spillias, Carla Sbrocchi și Luis D. Verde Arregoitia.
Chris a amânat să încerce modele locale, deoarece configurația i se părea prea complexă, dar Scott l-a convins să o încerce. Chris a făcut-o și spune că a fost mai ușor decât crezuse. Acest tutorial prezintă configurarea.
Ce vei avea nevoie
-
Un computer desktop sau laptop, mai multe despre hardware de mai jos.
-
Descărcați Ollama software
-
Un model de limbaj mareeste simplu să utilizați Ollama pentru a descărca unul.
-
În mod ideal, o altă bucată de software care interacționează cu Ollama — acesta poate fi fie, de exemplu, ellmer, pachetul R, care poate efectua apeluri către Ollama, fie poate fi o extensie precum Continue, care vă permite să faceți codare agentică și completare automată.
Ollama
Principalul software pe care trebuie să-l obțineți este Ollama. Accesați ollama.com și descărcați și instalați Ollama (poate fi necesar să solicitați aprobare IT dacă faceți acest lucru pe un computer de serviciu). Apoi aveți mai multe opțiuni pentru modele de descărcat direct de la Ollama. Acestea sunt modele open source și vă recomandăm să căutați pagina lor web pentru care model ar fi cel mai bun pentru aplicația particulară pentru care doriți să utilizați Ollama. Mai multe despre asta mai jos.
Modul în care funcționează Ollama este că configurează un server localhost. Acesta este ca un server web, unde ați accesa un serviciu de pe internet, cu excepția faptului că serverul rulează local pe computerul dvs. Sta doar acolo așteptând până când faceți o solicitare de la LLM. Apoi, ceea ce va face este să încarce un model de limbă mare în memorie și să transmită acea solicitare unui model de limbă mare rulat local.
Comenzile de care aveți nevoie
Ollama vine cu o interfață pe care se poate face clic, dar ni se pare mai convenabil să folosim terminalul. Iată câteva dintre comenzile taste.
ollama serve # start the server (the desktop app does this for you) ollama pull qwen2.5-coder # download a model ollama run qwen2.5-coder # chat with a model (downloads it first if you don't have it) ollama list # see which models you've already downloaded ollama ps # see which models are currently loaded in memory ollama stop qwen2.5-coder # unload a model from memory now ollama rm qwen2.5-coder # delete a downloaded model from disk
Lista completă: referință CLI.
Înainte de a începe cu acestea, să ne uităm la alegerea modelului.
Performanță și hardware
Acum este important să înțelegem diferența dintre memoria pe hard disk, RAM, GPU-uri și procesoare.
Memoria pe hard disk este locul în care datele sunt stocate pe termen lung. Aveți nevoie de suficient pentru a descărca fișierul model. Este puțin probabil ca aceasta să fie o constrângere pentru descărcarea unui model, cu excepția cazului în care memoria computerului dvs. este într-adevăr plină.
Opțiunile comune LLM variază de la aproximativ 8 GB până la teraocteți. Veți avea nevoie de cel puțin 10 GB de memorie gratuită pe hard disk pentru a descărca un model de bază de asistent de codare.
RAM este memoria accesibilă în care Ollama (și alte programe) dețin date, așa că este gata pentru acces rapid. LLM local trebuie să se încadreze în memoria RAM pentru ca Ollama să facă inferențe cu el. Dacă LLM folosește cea mai mare parte a memoriei RAM, s-ar putea să funcționeze în continuare, dar nu, veți găsi că alt software de pe computer încetinește sau se defectează în timp ce modelul este în uz, deoarece nu poate folosi RAM.
Pentru un model de bază cu 7 miliarde de parametri („7B”), veți avea nevoie de minim 8 GB RAM. Dar practic veți dori 16 GB+ pentru ca răspunsurile să fie suficient de rapide și să vă permită să utilizați simultan alte software-uri.
Ollama deține un LLM în RAM doar în timp ce este în uz. În mod implicit, Ollama îl descarcă după cinci minute de inactivitate sau îl folosește stop comandă pentru a-l scoate din RAM mai devreme.
GPU-urile și procesoarele sunt cele care fac deducerea. Îți iau promptul și îl procesează pentru a produce text/imagini/audio. Sper că aveți un computer cu un GPU decent, acesta este mult mai rapid. Citiți mai multe despre Asistență hardware dacă nu sunteți sigur.
Configurațiile GPU diferă în funcție de diferitele mărci de computere. De exemplu, un Macbook de gamă medie va fi suficient pentru a rula modele de bază. Pentru mașinile Windows, veți dori să aveți un GPU NVidia de performanță. Dezvoltatorii comprimă și cuantizează în mod agresiv modelele locale pentru a ne ajuta să rulăm modele locale decente pe mașini cu memorie limitată și, sperăm, că asistenții de codare buni vor funcționa în curând similar modelelor de frontieră găzduite în cloud pe laptopurile de consum pe care majoritatea dintre noi le folosim.
Alegerea unui model
Unele dintre aceste modele sunt foarte mari (folosesc multă memorie) și există o cantitate destul de mare de alegere care trebuie luată în alegerea modelului potrivit. Dimensiunea memoriei se corelează aproximativ cu numărul de parametri pe care îi are un LLM (de exemplu, 7B, 14B). LLM-urile cu mai mulți parametri sunt în general mai inteligente, dar veți avea nevoie de mai multă RAM și de un GPU mai puternic pentru a le folosi.
Când a încercat Ollama, Chris a fost surprins că în zilele noastre există o mulțime de modele destul de bune, relativ mici, care vor rula pe majoritatea laptopurilor moderne.
Referințe utile pentru a alege unul:
Acum să ne uităm la câteva aplicații ale Ollama.
Autocompletare și codare agentică
Chris a început cu baza Qwen 2.5 Coder, deoarece a vrut să încerce să folosească Ollama pentru sugestii de completare automată în timpul codificării.
Pentru a obține modelul, tocmai a alergat ollama pull qwen2.5-coder:7b-base. Apoi a fost descărcat de pe internet. Acest lucru a durat ceva timp, deoarece fișierul are câțiva gigaocteți.
El a folosit versiunea „de bază”, deoarece pare să funcționeze mai bine pentru finalizarea liniei. Alte modele sunt antrenate pentru discuții înainte și înapoi, așa că tind să nu vrei să-ți completezi propozițiile (ceea ce ar fi enervant într-o interfață de chat!).
Așa că descărcați modelul respectiv și apoi veți avea nevoie de o altă extensie pentru a vă ajuta cu completarea automată. Dacă utilizați Visual Studio Code, puteți instala extensia Continue și apoi urmați instrucțiunile pentru conectarea Continue la Ollama. Rețineți că Continue a fost achiziționat de compania Cursor și este posibil ca extensia reală să nu mai fie disponibilă pentru mult timp. De asemenea, putem folosi Kilo Code ca extensie alternativă care acceptă și modele locale.
Verificați lista lor de modele recomandate.
Alte aplicații pe care poate doriți să le încercați sunt opțiunea agenților de chat din Continuare. Acest lucru va aduce modificări scripturilor dvs. Modelul de bază pe care l-am folosit mai sus nu va funcționa pentru această sarcină, veți dori un alt model care este optimizat pentru fluxurile de lucru prin chat și agenți. De obicei, aceste modele sunt semnificativ mai mari.
Programare agentică
Agenții scriu cod, rulează cod, se uită la rezultate, actualizează codul și continuă până când decid să termine sarcina.
Este posibil să faceți codare agentică cu LLM-uri locale, dar veți avea nevoie de un computer foarte bun pentru consumatori, care poate gestiona modele mult mai mari decât cele utilizate pentru completarea automată sau chat.
Vedeți această postare a lui Simon Couch despre conducerea agenților de codare pe un laptop folosind modele locale, cum ar fi variantele Qwen 3.5 și Gemma 4.
Qwen 3.8 (27B) primește, de asemenea, recenzii excelente pentru codarea agentică. Bloggerul respectiv a descoperit că funcționează bine atât cu un MacBook Pro M5 Max de 128 GB, cât și cu un NVIDIA DGX Spark (aproximativ 16.000 USD și, respectiv, 9000 USD la publicare).
Vestea bună este că oamenii inteligenți găsesc noi modalități de a comprima și de a utiliza aceste LLM-uri astfel încât să ruleze mai repede pe computere mai mici.
Rețineți că există unele probleme de securitate cibernetică cu agenții, deoarece execută cod pe computerul dvs. Vrei să fii atent să știi ce faci înainte de a începe să folosești agenți și să obții permisiunea de la locul de muncă dacă îi folosești pe computerul de lucru.
Prelucrarea dosarelor și a literaturii în R
O altă aplicație a LLM-urilor locale este procesarea textului prin LLM. Dacă faci asta în R, este relativ simplu de configurat, trebuie doar să folosești pachetul ellmer pentru a discuta cu modelul. ellmer se va conecta la Ollama prin intermediul API-ului său (interfață de programare a aplicației), apoi puteți trimite text la acel API pentru ca ellmer să-l proceseze prin LLM.
Nu trebuie să utilizați R. Există software scris în multe limbi pentru a accesa Ollama în mod programatic, inclusiv python, javascript și bash.
Am scris anterior despre utilizarea ellmer pentru a procesa fișiere text în loturi, cum ar fi dacă doriți să automatizați extragerea metadatelor din lucrări pentru o analiză a literaturii. Principala diferență este că ai folosi chat_ollamapentru a trimite text modelului.
Un lucru de reținut atunci când utilizați Ollama pentru fluxuri de lucru științifice, este că comenzile implicite furnizate mai sus vor descărca versiunile cuantificate pe 4 biți ale LLM-urilor. Cuantizarea înseamnă aproximativ rotunjirea unora dintre numerele din matricele masive de ponderi care alcătuiesc rețelele neuronale ale unui LLM. Acest lucru economisește memorie, dar reduce precizia.
Din experiența noastră, pentru sarcinile de procesare a textului, diferența dintre diferitele cuantizări este neglijabilă, dar necesită raportare atunci când scrieți rezultatele.
Sperăm că acest ghid rapid îi ajută pe cei care sunt curioși de modelele locale. Suntem interesați să aflăm de la cititori despre experiențele dumneavoastră cu LLM-urile locale și pentru ce aplicații le utilizați.
*Rețineți că Ollama ca un wrapper pentru llama.cpp este considerat problematic de unii. În R putem folosi alte legături la biblioteca llama.cpp pentru inferența locală a modelelor de limbaj mari (LLM), cum ar fi pachetul thellamaR de Yuri Baramykov.
