از مدل زبان بزرگ منبع باز خود استفاده کنید


نویسنده (ها): طاها آزیزی

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

شما آن را ساخته اید اکنون آن را رها کنید.

از مدل زبان بزرگ منبع باز خود استفاده کنیداز مدل زبان بزرگ منبع باز خود استفاده کنید
یاد بگیرید که چگونه از مدل تنظیم شده خود استفاده کنید

شما قبلاً یک مدل را تنظیم کرده اید (عالی!)بشر اکنون وقت آن است که از آن استفاده کنید. آن را به GGUF تبدیل کنید ، برای سخت افزار محلی کمیت کنید ، آن را در یک Ollama بپیچانید Modelfile، خروجی ها را تأیید کنید ، آن را سطح کنید ، بنابراین شروع به تولید ارزش واقعی می کند. این راهنمای گام به گام دستورات ، چک ها ، لباس های آزمون ، قطعه های ادغام و مبادلات عملی را ارائه می دهد تا مدل شما از نسخه ی نمایشی متوقف شود و شروع به حل مشکلات کند.

تنظیم دقیق قسمت آفرینش است-مفید ، اما نامرئی است مگر اینکه در واقع مدل را اجرا و ادغام کنید. این راهنما ایست بازرسی تنظیم شده شما را به چیزی تبدیل می کند که تیم (یا مشتریان) شما می توانند با آنها تماس بگیرند ، آزمایش و بهبود بخشند.

فرض می کند: شما یک پوشه مدل بغل خوب Llama 3 (یا سازگار) را که روی دیسک آماده است ، تنظیم کرده اید. اگر آن را تنظیم کردید مقاله قبلی من، شما 100 ٪ آماده هستید.

لیست چک سریع قبل از شروع

  • فضای دیسک کافی برای مدل.
  • python (3.9+) ، gitبا make برای ابزارهای ساختمانی.
  • llama.cpp کلون و ساخته شده (برای convert_hf_to_gguf.py وت quantize). *(راهنمای گام به گام در پیوست)
  • ollama نصب و اجرا
راهنمای گام به گام نحوه استقرار مدل خوب خود به صورت محلی

مرحله 1-ایست بازرسی تنظیم شده خود را به GGUF (F16) تبدیل کنید

اسکریپت تبدیل را در داخل اجرا کنید llama.cpp repo این یک GGUF F16 ایجاد می کند-یک نمایش با وفاداری بالا که در مرحله بعدی ما کمیت خواهیم کرد.

# from inside the llama.cpp directory (where convert_hf_to_gguf.py lives)
python convert_hf_to_gguf.py /path/to/your-finetuned-hf-model \
--outfile model.gguf \
--outtype f16

چرا F16 اول؟ تبدیل به F16 دقت عددی را حفظ می کند تا بتوانید کیفیت را قبل یا بعد از کمیت مقایسه کنید.

مرحله 2 – GGUF را برای سخت افزار محلی کم کنید

کمیت باعث می شود مدل ها در استنتاج بسیار کوچکتر و سریعتر شوند. بسته به نیاز سخت افزاری و کیفیت خود ، یک حالت را انتخاب کنید.

# example: balanced CPU option
./quantize model.gguf model-q4_k_m.gguf q4_k_m

گزینه های دیگر و تجارت

  • q4_k_m: تعادل CPU عالی (سرعت + کیفیت).
  • q4_0با q5_*: تنظیمات جایگزین – Q5 اغلب برای برخی بهتر است GPU تنظیمات Q4_0 گاهی اوقات با کیفیت سریعتر اما پایین تر.
  • اگر کیفیت بیش از حد کاهش می یابد ، نسخه F16 را برای استفاده های مهم نگه دارید.

مرحله 3 – یک اولاما ایجاد کنید Modelfile (طرح برای زمان اجرا)

این را قرار دهید Modelfile کنار شما model-q4_k_m.ggufبشر این به اولاما می گوید مدل کجاست ، کدام الگوی چت برای استفاده و شخصیت سیستم باید باشد.

یک پرونده به نام ایجاد کنید Modelfile (بدون پسوند):

# Chat template for many Llama 3 instruct-style models
TEMPLATE """user
{{ .Prompt }}assistant{{ .Response }}"""SYSTEM """You are an expert at improving and refining image-generation prompts.
You transform short user ideas into clear, vivid, composition-aware prompts.
Ask clarifying questions for underspecified requests. Prefer concrete sensory details (lighting, color palettes, camera lenses, composition)."""
PARAMETER stop ""
PARAMETER stop ""

یادداشت ها

  • اگر مدل تنظیم شده شما از نشانگرهای سریع مختلف استفاده می کند ، سازگار شوید TEMPLATEبشر
  • در SYSTEM, متن سریع سیستم AKA آیا مؤثرترین اهرم شما برای تغییر لحن/رفتار استبشر

مرحله 4 – مدل Ollama را ایجاد کنید

با اجرای Ollama در محلی ، ورودی مدل را ایجاد کنید:

ollama create my-prompt-improver -f ./Modelfile

در صورت موفقیت ، اولاما اضافه می کند my-prompt-improver به لیست مدل محلی خود.

مرحله 5 – اعتبار سنجی تعاملی سریع

آن را به صورت تعاملی اجرا کنید:

ollama run my-prompt-improver
# then type a prompt, e.g.
make this prompt better: a neon cyberpunk alley at midnight, rainy reflections, lone saxophone player

از طرف دیگر ، اولاما یک رابط کاربری جدید دارد و می توانید به سرعت مدل خود را آزمایش کنید ، ابتدا انتخاب کنید LLM شما FinetUned:

اکنون می توانید مدل Finetuned خود را در UI OLLAMA انتخاب کنید

استفاده از آن را شروع کنید (آن ساده):

مدل خوب تنظیم شده من در حال ایجاد نتایج شگفت انگیز است!

چک های عقل

  1. وفاداری: مقایسه خروجی از model.gguf (F16) و model-q4_k_m.ggufبشر اگر F16 بسیار بهتر به نظر می رسد ، کیفیت تخریب شده کمیت.
  2. شخصیت: آیا صدای سیستم را اتخاذ می کند؟ اگر نه ، ترفند SYSTEMبشر

مرحله 6 – تست دسته ای و مقایسه (خودکار)

مجموعه ای از اعلان ها را از طریق مدل های F16 و Q4 اجرا کنید ، خروجی ها را برای مقایسه A/B ذخیره کنید. این اسکریپت را به عنوان ذخیره کنید compare_models.pyبشر

# compare_models.py
import csv, shlex, subprocess
from pathlib import Path

PROMPTS = [
"Sunset over a coastal village, cinematic, warm tones, 35mm lens",
"A cute corgi astronaut bouncing on the moon",
"Describe a dystopian future city in one paragraph, focus on smells and textures",
# add more prompts...
]
def run_model(model, prompt):
cmd = f"bash -c \"echo {shlex.quote(prompt)} | ollama run {shlex.quote(model)}\""
p = subprocess.run(cmd, shell=True, capture_output=True, text=True)
return p.stdout.strip()
def main():
out = Path("model_comparison.csv")
with out.open("w", newline='', encoding='utf-8') as fh:
writer = csv.writer(fh)
writer.writerow(["prompt", "model", "output"])
for prompt in PROMPTS:
for model in ["my-prompt-improver-f16", "my-prompt-improver-q4"]:
# replace with actual model names if different
o = run_model(model, prompt)
writer.writerow([prompt, model, o])
print("Wrote", out)
if __name__ == "__main__":
main()

نحوه استفاده

  • دو مدل Ollama را ایجاد کنید model.gguf وت model-q4_k_m.gguf به ترتیب (به عنوان مثال ، my-prompt-improver-f16 وت my-prompt-improver-q4) و فیلمنامه را اجرا کنید.
  • بررسی دستی model_comparison.csv یا برای اندازه گیری جزئیات از دست رفته ، تفاوت هایی را اجرا کنید.

مجموعه تست (20-50 اعلان)

ایجاد یک مجموعه آزمایشی 0F 20 تا 50 برای آزمایش عملکردی (ساده → پیچیده → مبهم → روشن شدن)

مرحله 7 – مدل خود را ادغام کنید (مثال: API محلی کوچک)

از نظر برنامه ای ، مدل خود را به عنوان یک API محلی کوچک که هر برنامه می تواند با آن تماس بگیرد ، افشا کنید. این مثال پوسته به ollama run با استفاده از لوله کشی (کار بدون دانستن Ollama HTTP API داخلی).

# run_api.py (FastAPI example)
from fastapi import FastAPI
from pydantic import BaseModel
import subprocess, shlex

app = FastAPI()
class Req(BaseModel):
prompt: str
def call_model(prompt: str, model: str = "my-prompt-improver"):
cmd = f"bash -c \"echo {shlex.quote(prompt)} | ollama run {shlex.quote(model)}\""
p = subprocess.run(cmd, shell=True, capture_output=True, text=True)
return p.stdout
@app.post("/generate")
def generate(req: Req):
out = call_model(req.prompt)
return {"output": out}

یادداشت های تولیدی

  • در تولید ، از یک مدیر فرآیند استفاده کنید و همزمانی را محدود کنید.
  • در اطراف این نقطه پایانی از احراز هویت (JWT ، کلیدهای API) استفاده کنید.
  • برای ارسال های مکرر ، ذخیره ذخیره کنید.
اکنون می توانید عملکرد مدل را رصد کرده و بر اساس بازخورد بهبود یابد

بسته بندی: بعد از این راهنما چه کاری باید انجام دهید

  1. مجموعه تست سریع 20-50 را اجرا کنید و خروجی های کمیت F16 vs را مقایسه کنید.
  2. یک بسته بندی کوچک Fastapi بسازید و در یک گردش کار داخلی ادغام شوید.
  3. بازخورد کاربر را جمع کنید و دوباره در اصلاحات تنظیم کنید.

پیوست: کلونینگ و ساختمان llama.cpp

دویدن convert_hf_to_gguf.py وت quantize، ابتدا باید کلون و ساختید llama.cpp از منبع این به تمام ابزارهای مورد نیاز برای تهیه و بهینه سازی مدل خود برای استنتاج محلی می دهد.

پیش نیازهای 1 پیش بینی

قبل از کلونینگ ، اطمینان حاصل کنید که ابزارهای لازم را دارید:

# Ubuntu/Debian
sudo apt update && sudo apt install -y build-essential python3 python3-pip git cmake
# macOS
brew install cmake python git
# Windows (PowerShell)
choco install cmake python git

2-Clone مخزن

آخرین دریافت کنید llama.cpp کد از GitHub:

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp

3 پروژه را بسازید

llama.cpp از cmake برای تدوین استفاده می کند. اجرا:

mkdir build
cd build
cmake ..
cmake --build . --config Release

بعد از این مرحله ، باینری ها را در خود گردآوری کرده اید build پوشه ، از جمله quantize ابزار

4- ساخت خود را

بررسی کنید که quantize در دسترس است:

./quantize --help

شما باید دستورالعمل های استفاده را برای quantize ابزار

5-از اسکریپت های پایتون استفاده کنید

در convert_hf_to_gguf.py اسکریپت در llama.cpp دایرکتوری ریشه شما می توانید آن را مانند این اجرا کنید:

cd ..
python3 convert_hf_to_gguf.py \
--model /path/to/huggingface/model \
--outfile /path/to/output/model.gguf

پس از تبدیل ، می توانید کمیت مدل:

./build/quantize model.gguf model.Q4_K_M.gguf Q4_K_M

عیب یابی (سریع)

  • مدل در Ollama بارگیری نمی شود: بررسی کردن FROM مسیر در Modelfile، نام پرونده GGUF ، و آن نسخه Ollama از GGUF پشتیبانی می کند.
  • کیفیت ویران شده کمیت: F16 GGUF را برای مقایسه اجرا کنید. اگر F16 خوب است ، حالت های مختلف را امتحان کنید (Q5 یا کمتر تهاجمی).
  • نشانه ها / قالب بندی عجیب: تنظیم کردن TEMPLATE برای مطابقت با نشانگرهای سریع مدل شما انتظار دارد.
  • مدل سوالات بی ربط می پرسد: تغییر دادن SYSTEM سریع تر برای بخشنامه بیشتر.
  • استفاده از حافظه بالا: از کمیت تهاجمی تر استفاده کنید یا به دستگاهی با رم بزرگتر بروید.

نحوه اندازه گیری موفقیت

  • رتبه انسانی: 5 امتیاز (ارتباط ، زنده بودن ، صحت ، مفید بودن ، وضوح).
  • معیارهای عملیاتی: تأخیر استنباط ، CPU/GPU استفاده ، هزینه هر استنباط.
  • معیارهای تجاری: نرخ انحراف پشتیبانی ، پیش نویس های تولید شده در هفته ، آسانسور تبدیل.
  • تست های A/B: مدل تنظیم شده خوب در مقابل مدل مرزی را در پشت همان UI قرار دهید ، تعامل کاربر و تکمیل کار را اندازه گیری کنید.

امنیت و مجوز

  • مجوز مدل را در بغل کردن صورت بررسی کنید (برخی از مدل های پایه استفاده تجاری را محدود می کنند).
  • داده های حساس را در سیاهههای مربوط قرار ندهید. اسرار رمزگذاری و مدل های فروشگاه را در دیسک های ایمن.

منبع باز در مقابل Frontier: ماتریس تصمیم گیری

نسخه کوتاه: هنگام استفاده از منبع باز از منبع باز استفاده کنید باید داده ها را کنترل کند ، هزینه عملیاتی را کاهش دهد ، یا به شدت تخصص داشته باشدبشر در صورت نیاز از مدل های مرزی استفاده کنید بهترین استدلال عمومی در کلاس ، چسب چند حالته و OPS صفربشر

قانون شست: اگر در مقیاس بزرگ برنامه ریزی می کنید یا به بهترین استدلال عمومی نیاز دارید → Frontier. در صورت نیاز به حریم خصوصی ، کنترل هزینه یا تخصص طاقچه → منبع باز.

برای مقاله بعدی من را دنبال کنید یا به من پیشنهاد دهید که می خواهید درباره آن بیشتر بدانید.

مخزن GitHub: https://github.com/taha-azizi/finetune_imageprompt

همه تصاویر توسط ابزارهای AI توسط نویسنده تولید شده است.

اکنون شما آماده اجرای مدل بهینه شده خود به صورت محلی هستید -سبک ، سریع و آماده برای آزمایش تولید مانند.

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/l/use-your-own-customized-open-source-large-language-model