برنامه نویسی

در حال اجرا LLM های کمکی به صورت محلی: باز کردن قفل پتانسیل Docker Model Runner

آیا تا به حال آرزو کرده اید که مدل های قدرتمند زبان بزرگ (LLMS) را بر روی دستگاه خود ، عاری از پیچیدگی خدمات ابری و هزینه های اساسی زیرساخت ها اجرا کنید؟ Docker Model Runner یک راه حل نوآورانه برای اجرای LLM های کمکی در محلی است. بدون نیاز به خوشه GPU و بدون نگرانی در مورد اعلان های صورتحساب ، از قابلیت های هوش مصنوعی مستقیماً از دسک تاپ خود استفاده کنید.

چرا LLM های کمیت محلی؟

از آنجا که هوش مصنوعی مولد تمام سطوح زیرساخت های فناوری را متحول می کند ، توسعه دهندگان ، استارتاپ ها ، محققان و سرگرمی ها اکنون در حال ادغام هوش مصنوعی در ابزارهای داخلی و گردش کار خود ، در بالای نمایندگان و چت های خود هستند. با این حال ، بیشتر پیشنهادات مبتنی بر ابر:

  • صورتحساب توسط نشانه یا دقیقه احتمالاً منجر به هزینه های افزایش می شود.
  • به کلیدهای API و محدودیت نرخ نیاز دارید
  • داده های محرمانه را با ارائه دهندگان خدمات خارجی به اشتراک بگذارید.

شرح تصویر

LLM های محلی کمکی به غلبه بر چنین چالش هایی کمک می کنند. کمیت فرآیندی است که باعث کاهش مصرف حافظه می شود و با فشرده سازی مدل ، به عنوان مثال با استفاده از وزن INT4 یا INT8 ، استنباط را سرعت می بخشد. هنگام اجرای محلی ، آنها:

  • با کمی تأخیر سریع عمل کنید.
  • از حریم خصوصی و امنیت داده های خود محافظت کنید.
  • کار بدون اتصال به اینترنت و با هزینه های عملیاتی پایین.

این برای توسعه دهندگان آزمایش ایده ها ، استارتاپ های آگاهانه از حریم خصوصی و مربیان آموزش دانش آموزان در هوش مصنوعی مناسب است.

دونده مدل Docker را ملاقات کنید

شرح تصویر
Docker Model Runner تلاش داکر برای حل مسائل مربوط به Genai محلی است. این موارد زیر را امکان پذیر می کند:

  • LLMS را با یک دستور واحد اجرا کنید
  • API های سازگار با OpenAi را به صورت محلی در معرض نمایش قرار دهید
  • از جهنم وابستگی پایتون خودداری کنید
  • یکپارچه بین مدل ها تغییر دهید. آن را به عنوان محیط زمان اجرا هوش مصنوعی شخصی خود مشاهده کنید.

پیش نیازهای

قبل از شروع:

اختیاری اما مفید:

  • آشنایی با حلقه ، node.js یا پایتون

شروع سریع: اجرای Gemma به صورت محلی

شرح تصویر

گوگل Gemma 2B مدل کمکی یک نقطه شروع عالی برای آزمایش های محلی LLM است.

مرحله 1: تصویر Docker را بکشید

docker pull dockermodelrunner/gemma:2b-q4

این بارگیری مدل Gemma 2B کمکی برای دقت INT4 را بارگیری می کند.

مرحله 2: مدل را اجرا کنید

docker run -d \
  -p 8080:8080 \
  --name local-gemma \
  dockermodelrunner/gemma:2b-q4
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این دستور مدل را شروع می کند و پورت محلی 8080 را به آن اختصاص می دهد. سپس ظرف یک API سازگار با OpenAI را در معرض دید قرار می دهد.

مرحله 3: اولین بار خود را ارسال کنید

curl http://localhost:8080/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "Explain Docker Model Runner in 2 sentences.",
        "max_tokens": 60
      }'
You'll receive a JSON response like:
{
  "id": "cmpl-1",
  "object": "text_completion",
  "choices": [
    {
      "text": "Docker Model Runner is a tool that allows developers to run large language models locally. It simplifies deployment, improves privacy, and reduces cost."
    }
  ]
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

جابجایی بین مدل ها

مدل دیگری مانند mistral را امتحان کنید:
docker run -d -p 8081:8080 dockermodelrunner/mistral:7b-q4

از پورت 8081 برای برقراری ارتباط با کانتینر mistral هنگام اجرای GEMMA در پورت 8080 به طور همزمان استفاده کنید.

پیکربندی پیشرفته

محدودیت های حافظه/CPU را تنظیم کنید

docker run -d -p 8080:8080 \
  --memory="6g" --cpus="2.0" \
  dockermodelrunner/gemma:2b-q4
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سوار کردن از پرونده

curl -X POST http://localhost:8080/v1/completions \
  -H "Content-Type: application/json" \
  -d @prompt.json
prompt.json:
{
  "prompt": "Give me five use cases for local LLMs in education.",
  "max_tokens": 100
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

استفاده از آن در برنامه های node.js

const axios = require('axios');

async function runPrompt() {
  const res = await axios.post('http://localhost:8080/v1/completions', {
    prompt: 'How does quantization reduce model size?',
    max_tokens: 80
  });

  console.log(res.data.choices[0].text);
}

runPrompt();
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

معیار محلی

سرعت استنباط آزمون:

time curl -X POST http://localhost:8080/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Benchmark latency.", "max_tokens": 10}'
Track metrics with Docker:
docker stats local-gemma
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

حریم خصوصی داده ها و موارد استفاده از هوا

زیرا مدل ها به صورت محلی کار می کنند:

  • هیچ اطلاعات سریع در دستگاه شما وجود ندارد.
  • ایده آل برای گردش کار شرکت های محرمانه
  • ایمن برای مصارف دانشگاهی در جایی که FERPA/GDPR اعمال می شود

موارد استفاده در دنیای واقعی

  • ابزارهای رابط خط فرمان AI: ابزارهای خط فرمان مشابه GPT را با استفاده از Bash ، Curl و Docker ایجاد کنید.
  • Chatbots خصوصی: آنها به عنوان دستیاران داخلی عمل می کنند یا به میزهای کمک می کنند که در پشت فایروال شما وجود دارد.
  • نوت بوک های AI آفلاین: LLMS را در هنگام پرواز یا مناطق دور افتاده روی لپ تاپ خود اجرا کنید.
  • پروژه های برنامه نویسی دانشجویی: بدون نگرانی در مورد مصرف اعتبار ابری ، هوش مصنوعی را به صورت محلی آموزش دهید.

نکته حرفه ای: با Langchain مخلوط کنید

Docker Model Runner تکمیل های سازگار با OpenAI را تولید می کند و بنابراین قدرت آن در این موارد است:

pip install langchain
from langchain.llms import OpenAI
llm = OpenAI(openai_api_base="http://localhost:8080/v1", openai_api_key="none")
llm("Write a haiku about containers.")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

عیب یابی

پیچیدن

Docker Model Runner باعث می شود توسعه محلی LLM در دسترس ، سریع و سرگرم کننده باشد. شما می توانید:

  • با استفاده از یک دستور واحد ، مدل هایی مانند Gemma یا Mistral را اجرا کنید.
  • برنامه های اطلاعاتی مصنوعی کم تأخیر و امن ایجاد کنید.
  • با ابزارهای آشنا (Node ، Python ، Curl) ادغام شوید و بدون اینکه ابر را لمس کنید ، همه کار را انجام می دهید.

بنابراین ، پیش بروید و ایستگاه کاری LLM خود را تنظیم کنید. اگر سؤال یا ایده دارید ، آنها را در نظرات زیر رها کنید. اگر این موضوع را مفید پیدا کردید ، آن را با دوستان dev.to به اشتراک بگذارید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا