Локален LLM со Ollama: модел од 55 GB ја открива вистинската цена на приватноста

|Автор: Уредувачки тим на QUASA|5 мин. читање| 1
Локален LLM со Ollama: модел од 55 GB ја открива вистинската цена на приватноста

За да стартувате локален јазичен модел, пуштете Ollama во Docker со траен volume, преземете модел и повикајте го API-то од истиот компјутер. Изберете ја варијантата пред преземањето: каталогот на Gemma 3 наведува 55 GB за gemma3:27b-it-fp16, 17 GB за gemma3:27b, 3,3 GB за gemma3:4b и 815 MB за gemma3:1b.

За првата проверка користете помала варијанта, на пример gemma3:4b. Објавете ја портата на Docker само на 127.0.0.1, проверете дали серверот го прикажува преземениот модел и дури потоа испратете барање за генерирање. Така одделно ќе ги проверите инсталацијата, преземањето и достапната меморија.

Што кажува големината на моделот

Бројката во каталогот прво ви кажува колку простор приближно ќе зафати преземањето; таа не е спецификација за потребната RAM или видео меморија. При работа моделот мора да се вчита во меморија, а подолгиот контекст бара дополнителен простор. Упатството на Ollama покажува дека командата ollama ps открива дали активниот модел е вчитан во системска меморија, во GPU или е поделен меѓу нив.

  • gemma3:1b — 815 MB. Погоден е за проверка дали инсталацијата и API-врската работат на машина без посебна графичка картичка. Малото преземање само по себе не кажува каков ќе биде квалитетот на одговорите за вашата задача.
  • gemma3:4b — 3,3 GB. Разумен почетен избор за локално генерирање со CPU или со поддржан GPU. Оставете слободна меморија и за оперативниот систем и за контекстот на барањето.
  • gemma3:27b — 17 GB. Пред преземање проверете ги и дискот и расположливата RAM или VRAM. Ако дел од моделот се извршува преку CPU, одговорот може да доцни повеќе отколку при целосно вчитување на GPU.
  • gemma3:27b-it-fp16 — 55 GB. Оваа варијанта покажува зошто локалното извршување е и ресурсна одлука: самата датотека бара многу простор, а работната меморија и контекстот додаваат оптоварување.

Изборот меѓу варијантите не е само избор на број параметри. Истото семејство модели има ознаки со различна големина на датотеката, па копирањето команда со погрешна ознака може да значи многу поголемо преземање од планираното. За проверка на целата постапка нема потреба прво да го преземете најголемиот модел.

Стартување со CPU или GPU

Потребни се инсталиран Docker и слободен простор таму каде што Docker ги чува своите податоци. Docker-упатството на Ollama го користи image-от ollama/ollama, volume монтиран на /root/.ollama и одделни начини за CPU, NVIDIA и AMD GPU. Командите подолу ја задржуваат таа поставеност, со локално ограничена порта.

  • CPU: docker run -d --name ollama --restart unless-stopped -v ollama:/root/.ollama -p 127.0.0.1:11434:11434 ollama/ollama
  • NVIDIA GPU: откако ќе ги подготвите драјверот и NVIDIA Container Toolkit, користете docker run -d --name ollama --restart unless-stopped --gpus=all -v ollama:/root/.ollama -p 127.0.0.1:11434:11434 ollama/ollama
  • AMD GPU со ROCm: на поддржана конфигурација користете docker run -d --name ollama --restart unless-stopped --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 127.0.0.1:11434:11434 ollama/ollama:rocm

Извршете само една од овие команди: секоја создава контејнер со името ollama. GPU-патеката бара графичката картичка да биде достапна во Docker; самото присуство на картичка во компјутерот не го обезбедува тоа. Ако ја поставувате услугата за првпат, CPU со помал модел е доволен за да ја проверите врската пред да решавате евентуален проблем со GPU.

Трајно складирање и локална порта

Аргументот -v ollama:/root/.ollama создава именуван Docker volume за податоците на Ollama. Кога ќе го замените контејнерот и ќе го монтирате истиот volume, преземените модели остануваат достапни; бришењето на volume-от ги брише и тие податоци. Пред поголемо преземање проверете го слободниот простор што му е достапен на Docker, кој на Docker Desktop може да се разликува од папката во која работите.

Мапирањето -p 127.0.0.1:11434:11434 го прави API-то достапно преку локалниот интерфејс на домаќинот. Правилата на Docker за објавување порти објаснуваат дека порта без наведена адреса стандардно се објавува на сите адреси, додека 127.0.0.1 го ограничува пристапот на домаќинот. За изданија постари од 28.0.0 документацијата наведува исклучок: уреди на истиот локален мрежен сегмент можеле да пристапат и до порта објавена на localhost.

Ова ограничување одговара кога клиентската апликација работи на истиот компјутер. Ако клиентот е во друг контејнер, неговото 127.0.0.1 означува сопствен контејнер, па врската треба да се постави преку соодветна Docker-мрежа и адреса на услугата. Локалниот API не бара да ја отворите портата кон домашната или јавната мрежа.

Преземање и проверка на API-то

По стартувањето, преземете го примерниот модел со docker exec ollama ollama pull gemma3:4b. Потоа извршете docker exec ollama ollama ls за да ја видите точната ознака што е достапна локално. Преземањето е одделен чекор од стартувањето на контејнерот: серверот може да работи, а списокот на модели сè уште да биде празен.

  1. Проверете ја врската со curl http://127.0.0.1:11434/api/tags. Одговор со список на модели покажува дека API-то е достапно; празен список упатува прво да го проверите преземањето.
  2. Испратете барање со curl http://127.0.0.1:11434/api/generate -d '{"model":"gemma3:4b","prompt":"Одговори со една кратка реченица на македонски.","stream":false}'. Името во полето model мора да одговара на преземената ознака.

Описот на API-то за генерирање ги наведува полињата model и prompt; поставката stream:false враќа еден завршен JSON-одговор наместо низа делумни одговори. Ако списокот на модели се отвора, а генерирањето не успева, проблемот веќе не е во основната мрежна врска. Проверете ја ознаката, логовите со docker logs ollama и расположливата меморија.

Кога преземањето успева, а одговорот доцни

Одделете го проблемот со дискот од проблемот при извршување. Преземање што запира бара проверка на слободниот простор за Docker volume-от; модел што е преземен, но одговара бавно, бара проверка каде е вчитан. Извршете docker exec ollama ollama ps додека моделот работи и погледнете дали користи CPU, GPU или комбинација.

Ако меморијата е тесното грло, преминете на помала варијанта и повторете го истото API-барање со нејзината точна ознака. Поголем простор на дискот ќе овозможи преземање, но нема сам по себе да обезбеди доволно RAM или VRAM за работа. Таа разлика е практичниот трошок што треба да го пресметате пред да изберете голем локален модел.

Прочитајте и:

Сподели:

Претплатете се на нашиот билтен

Добивајте ги најновите вести за Web3, AI и крипто директно во вашето сандаче.

0