نویسنده (ها): طاها آزیزی
در ابتدا منتشر شده در به سمت هوش مصنوعیبشر
شما آن را ساخته اید اکنون آن را رها کنید.


شما قبلاً یک مدل را تنظیم کرده اید (عالی!)بشر اکنون وقت آن است که از آن استفاده کنید. آن را به 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:


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


چک های عقل
- وفاداری: مقایسه خروجی از
model.gguf
(F16) وmodel-q4_k_m.gguf
بشر اگر F16 بسیار بهتر به نظر می رسد ، کیفیت تخریب شده کمیت. - شخصیت: آیا صدای سیستم را اتخاذ می کند؟ اگر نه ، ترفند
SYSTEM
بشر
مرحله 6 – تست دسته ای و مقایسه (خودکار)
مجموعه ای از اعلان ها را از طریق مدل های F16 و Q4 اجرا کنید ، خروجی ها را برای مقایسه A/B ذخیره کنید. این اسکریپت را به عنوان ذخیره کنید compare_models.py
بشر
# compare_models.py
import csv, shlex, subprocess
from pathlib import PathPROMPTS = [
"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, shlexapp = 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) استفاده کنید.
- برای ارسال های مکرر ، ذخیره ذخیره کنید.


بسته بندی: بعد از این راهنما چه کاری باید انجام دهید
- مجموعه تست سریع 20-50 را اجرا کنید و خروجی های کمیت F16 vs را مقایسه کنید.
- یک بسته بندی کوچک Fastapi بسازید و در یک گردش کار داخلی ادغام شوید.
- بازخورد کاربر را جمع کنید و دوباره در اصلاحات تنظیم کنید.
پیوست: کلونینگ و ساختمان 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