breadcrumbs_delimiter هوش مصنوعی breadcrumbs_delimiter FastChat: بستری جدید برای توسعه و ارزیابی چت بات
هوش مصنوعی

FastChat: بستری جدید برای توسعه و ارزیابی چت بات

اردیبهشت 18, 1402 0015

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

FastChat یک رابط کاربر پسند ارائه می‌کند که به کاربران امکان می‌دهد در عرض چند دقیقه چت‌بات‌ها را ایجاد، آزمایش و اجرا کنند. FastChat همچنین مجموعه ای غنی از ویژگی ها مانند درک زبان طبیعی، مدیریت گفتگو، تولید پاسخ و تجزیه و تحلیل را ارائه می دهد. FastChat کاربران را قادر می سازد تا برای اهداف و سناریوهای مختلف چت ربات بسازند، مانند عوامل مکالمه، سیستم های پاسخگویی به سؤال، ربات های وظیفه گرا و چت ربات های اجتماعی. FastChat از چندین زبان و پلتفرم مانند وب، موبایل و صدا پشتیبانی می کند. FastChat برای کمک به کاربران برای ایجاد ربات‌های چت با کیفیتی طراحی شده است که می‌تواند مخاطبان هدف خود را درگیر کند و راضی کند.

نصب

روش 1: نصب با پیپ

pip3 نصب fschat

روش 2: منبع را از GitHub دریافت کنید

  1. این مخزن را کلون کنید و به پوشه FastChat بروید.
کلون git https://github.com/lm-sys/FastChat.git
سی دی FastChat

اگر در مک در حال اجرا هستید:

brew install rust cmake

2. Package

را نصب کنید

pip3 install --upgrade pip # فعال کردن پشتیبانی PEP 660
pip3 install -e .

وزن های مدل

وزن ویکونا

برای مطابقت با مجوز مدل LLaMA، وزن‌های Vicuna را به عنوان وزنه‌های دلتا ارائه می‌کنند. برای به دست آوردن وزنه های Vicuna، دلتا را به وزنه های اصلی LLaMA اضافه کنید.

دستورالعمل ها:

  1. با دنبال کردن دستورالعمل‌ها، وزن‌های اصلی LLaMA را در قالب huggingface دریافت کنید  اینجا.
  2. دلتای ما را روی اسکریپت های زیر اعمال کنید تا وزن های Vicuna را بدست آورید. آنها وزن‌های دلتا را از حساب ما در Hugging Face به‌طور خودکار دانلود می‌کنند.

Weights v1.1 فقط با transformers>=4.28.0 و fschat >= 0.2.0 سازگار است. لطفا بسته های محلی خود را در صورت نیاز به روز کنید. اگر از دستورالعمل‌های بالا برای اجرای یک نصب تمیز استفاده می‌کنید، باید همه نسخه‌های مناسب را دریافت کنید.

Vicuna-7B

این دستور تبدیل به حدود 30 گیگابایت رم CPU نیاز دارد. اگر حافظه کافی ندارید، به بخش «تبدیل کم حافظه CPU» در زیر مراجعه کنید.

python3 -m fastchat.model.apply_delta 
    --base-model-path /path/to/llama-7b 
    --target-model-path /output/path/to/vicuna-7b 
    --delta-path lmsys/vicuna-7b-delta-v1.1

Vicuna-13B

این دستور تبدیل به حدود 60 گیگابایت رم CPU نیاز دارد. اگر حافظه کافی ندارید، بخش «تبدیل کم حافظه CPU» را در زیر ببینید.

python3 -m fastchat.model.apply_delta 
    --base-model-path /path/to/llama-13b 
    --target-model-path /output/path/to/vicuna-13b 
    --delta-path lmsys/vicuna-13b-delta-v1.1

وزن های قدیمی

تبدیل کم حافظه CPU

می‌توانید این روش‌ها را برای کاهش نیاز به رم CPU برای تبدیل وزن امتحان کنید.

  1. --low-cpu-mem را به دستورات قبل اضافه کنید تا فایل های بزرگ را به فایل های کوچکتر تقسیم کنید و از دیسک به عنوان ذخیره موقت استفاده کنید. این می‌تواند حداکثر RAM را زیر 16 گیگابایت نگه دارد.
  2. یک فایل مبادله بزرگ بسازید و برای استفاده خودکار از دیسک به عنوان حافظه مجازی به سیستم عامل تکیه کنید.

FastChat-T5

برای شروع چت کافی است خط زیر را اجرا کنید. وزنه‌ها را به‌طور خودکار از «صورت در آغوش گرفته» ریپودانلود می‌کند. >.

python3 -m fastchat.serve.cli --model-path lmsys/fastchat-t5-3b-v1. 0

مدل های پشتیبانی شده

مدل های زیر تست شده اند:

تک GPU

دستور زیر حدود 28 گیگابایت حافظه GPU برای Vicuna-13B و 14 گیگابایت حافظه GPU برای Vicuna-7B می گیرد. اگر حافظه کافی ندارید، بخش «حافظه کافی نیست» را در زیر ببینید.

python3 -m fastchat.serve.cli --model-path /path/to/model/weights

چندین پردازنده گرافیکی

موازی سازی مدل را می توان برای جمع آوری حافظه GPU از چندین GPU در یک سیستم استفاده کرد.

python3 -m fastchat.serve.cli --model-path /path/to/model/weights -- num-gpus 2

فقط CPU

این فقط روی CPU کار می کند و به GPU نیاز ندارد. Vicuna-13B به حدود 60 گیگابایت حافظه CPU نیاز دارد، در حالی که Vicuna-7B تقریباً به 30 گیگابایت حافظه CPU نیاز دارد.

python3 -m fastchat.serve.cli --model-path /path/to/model/weights -- cpu دستگاه

بک‌اند فلزی (رایانه‌های مک با پردازنده‌های گرافیکی Apple Silicon یا AMD)

از --mps دستگاه برای فعال کردن شتاب GPU در رایانه‌های Mac استفاده کنید (به مشعل >= 2.0 نیاز دارد). از --load-8bit برای روشن کردن فشرده‌سازی 8 بیتی استفاده کنید.

python3 -m fastchat.serve.cli --model-path /path/to/model/weights -- دستگاه mps --load-8bit

Vicuna-7B می‌تواند روی مک‌بوک 32 گیگابایتی M1 با 1 تا 2 کلمه در ثانیه اجرا شود.

حافظه کافی نیست

اگر حافظه رم کافی ندارید، می‌توانید با افزودن –load-8bit به دستورالعمل‌های قبلی، از فشرده‌سازی 8 بیتی استفاده کنید. با تا حدودی کاهش کیفیت مدل، این می تواند مصرف حافظه را به نصف کاهش دهد. با CPU، GPU و Metal Backend کار می کند. Vicuna-13B می‌تواند روی یک پردازنده گرافیکی NVIDIA 3090/4080/T4/V100 (16 گیگابایت) با فشرده‌سازی 8 بیتی کار کند.

python3 -m fastchat.serve.cli --model-path /path/to/model/weights -- load-8bit

به‌علاوه، می‌توانید از --cpu-offloading به دستورالعمل‌های فوق‌الذکر برای بارگیری وزن‌هایی که در حافظه GPU شما به CPU جا نمی‌شوند استفاده کنید. این امر مستلزم فعال سازی فشرده سازی 8 بیتی و نصب بسته bitsandbytes است که فقط در سیستم عامل های لینوکس قابل دسترسی است.

سکوهای بیشتر

  • MLC LLM، با پشتیبانی TVM Unity، Vicuna را به صورت بومی روی تلفن‌ها، پردازنده‌های گرافیکی کلاس مصرف‌کننده و مرورگرهای وب از طریق Vulkan، Metal، CUDA مستقر می‌کند. و WebGPU.

ارائه با رابط کاربری گرافیکی وب

FastChat

برای استفاده از رابط کاربری وب به سه جزء اصلی نیاز دارید: سرورهای وب که با کاربران تعامل دارند، کارگران مدل که میزبان یک یا چند مدل هستند، و یک کنترل کننده برای همگام سازی وب سرور و کارگران مدل. دستورات زیر باید در ترمینال شما وارد شوند:

کنترل کننده را راه اندازی کنید

python3 -m fastchat.serve.controller

این کنترل‌کننده کارگران توزیع‌شده را مدیریت می‌کند.

کارگر مدل را راه اندازی کنید

python3 -m fastchat.serve.model_worker --model-path /path/to/model/weights

صبر کنید تا مراحل بارگیری مدل کامل شود و متوجه «Uvicorn در حال اجرا در…» شوید. شما می توانید چندین کارگر مدل را به طور همزمان راه اندازی کنید تا به مدل های مختلف سرویس دهید. کارگر مدل فوراً به کنترلر متصل می شود.

یک پیام آزمایشی با استفاده از دستور زیر ارسال کنید تا تأیید کنید که کارگر مدل شما به درستی به کنترل کننده شما پیوند داده شده است:

python3 -m fastchat.serve.test_message --model-name vicuna-7b

یک خروجی کوتاه خواهید دید.

وب سرور Gradio را راه اندازی کنید

python3 -m fastchat.serve.gradio_web_server

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

اگر این دستورالعمل‌ها را دنبال کنید، می‌توانید مدل‌های خود را از طریق رابط کاربری وب ارائه دهید. اکنون می توانید مرورگر خود را باز کرده و با یک مدل چت کنید.

ایجاد API

APIهای نسل Huggingface

به fastchat/serve/ مراجعه کنید huggingface_api.py

OpenAI- سازگار با RESTful API و SDK

به docs/openai_api.md مراجعه کنید

ارزیابی

GPT-4 پایه و اساس گردش کار ارزیابی ما با هوش مصنوعی است. این بخش یک نمای کلی در سطح بالا از خط لوله ارائه می دهد. لطفاً برای اطلاعات بیشتر به اسناد ارزیابی مراجعه کنید. .

مراحل خط لوله

  1. پاسخ‌ها را با استفاده از چندین مدل ایجاد کنید: برای ChatGPT، از qa_baseline_gpt35.pyاستفاده کنید یا نقطه بازرسی مدل را ارائه دهید و get_model_answer.py را اجرا کنید  برای Vicuna و مدل‌های دیگر.
  2. ایجاد نظرات با GPT-4: GPT-4 ممکن است برای ایجاد نظرات به صورت خودکار استفاده شود. اگر به GPT-4 API دسترسی ندارید، می توانید این مرحله را به صورت دستی انجام دهید.
  3. تولید داده‌های تجسم: generate_webpage_data_from_table.py را اجرا کنید تا داده‌هایی را برای یک وب‌سایت ثابت ایجاد کنید که به شما امکان می‌دهد داده‌های ارزیابی را تجسم کنید.
  4. تجسم داده ها: در زیر فهرست صفحه وب، یک وب سایت ثابت ارائه دهید. برای ارائه صفحه وب به صورت محلی، از python3 -m http.server
  5. استفاده کنید

فرمت داده و مشارکت

برای ارزیابی، آنها از یک قالب داده کدگذاری شده با خطوط JSON استفاده می کنند. مدل‌ها، درخواست‌ها، بازبین‌ها، پرسش‌ها، پاسخ‌ها و بررسی‌ها همگی در ساختار گنجانده شده‌اند.

با دسترسی به داده‌های مناسب، می‌توانید فرآیند ارزیابی را سفارشی کنید یا در داده.

برای دستورالعمل‌های دقیق، لطفاً به ارزیابی مراجعه کنید مستندات.

همچنین ChatGPT4 را به صورت رایگان بخوانید .

این مقاله به شما کمک می کند تا در مورد FastChat بیاموزید. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.

به این نوشته امتیاز بدهید!

افراد نیوز

افراد نیوز

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

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

  • ×