با FastVLM Apple: یک راهنمای گام به گام شروع کنید

FastVLM اپل در اینجا است و در حال حاضر به عنوان یک تغییر دهنده بازی در مدل های زبان بینایی (VLMS) ظاهر می شود و سرعت سریع را با دقت پیشرفته ترکیب می کند. این برنامه برای عملکرد در زمان واقعی بدون به خطر انداختن بر کیفیت خروجی طراحی شده است ، و از FastVithD ، یک رمزگذار بینایی ترکیبی استفاده می کند که به طرز چشمگیری تعداد نشانه های تصویر را کاهش می دهد و حتی با ورودی های با وضوح بالا ، رعد و برق را سریع می کند. کوچکترین نوع آن از Llava-Anevision-0.5b با یک 85 برابر سریعتر زمان به اولین بار (TTFT) پیشی می گیرد ، همه در حالی که از نظر اندازه 3.4 برابر کوچکتر است. در انتهای دیگر مقیاس ، مدل های بزرگتر آن با استفاده از QWEN2-7B از رقبای اخیر مانند Cambrian-1-8b پیشی می گیرند و با استفاده از فقط یک رمزگذار تصویر واحد ، به 7.9 برابر سریعتر TTFT دست می یابند. اگر مدلهای روی سرورهای قدرتمند را اجرا می کنید یا در دستگاه های تلفن همراه آزمایش می کنید ، FASTVLM قابلیت های بین المللی بین المللی را با تأخیر کم و راندمان بی نظیر ارائه می دهد.
در این راهنما ، ما قصد داریم فرآیند گام به گام را برای نصب و اجرای FASTVLM به صورت محلی یا بر روی ابر پوشش دهیم.
پیش نیازهای
حداقل نیاز سیستم برای اجرای این مدل عبارتند از:
فرآیند گام به گام برای نصب و اجرای FASTVLM توسط Apple
برای هدف از این آموزش ، ما از یک دستگاه مجازی با GPU توسط Nodeshift استفاده خواهیم کرد زیرا ماشین های مجازی محاسباتی بالا را با هزینه بسیار مقرون به صرفه در مقیاس ارائه می دهد که مطابق با الزامات GDPR ، SOC2 و ISO27001 است. همچنین ، این یک رابط بصری و کاربر پسند را ارائه می دهد ، و شروع کار را برای مبتدیان با استقرار ابر آسانتر می کند. با این حال ، احساس راحتی کنید که از هر ارائه دهنده ابر انتخابی خود استفاده کنید و همان مراحل را برای بقیه آموزش دنبال کنید.
مرحله 1: تنظیم یک حساب Nodeshift
به App.Nodeshift.com مراجعه کرده و با پر کردن جزئیات اصلی ، یا یک حساب کاربری ایجاد کنید ، یا به ثبت نام در حساب Google/GitHub خود ادامه دهید.
اگر قبلاً یک حساب کاربری دارید ، مستقیماً به داشبورد خود وارد شوید.
مرحله 2: یک گره GPU ایجاد کنید
پس از دسترسی به حساب خود ، باید داشبورد را ببینید (به تصویر مراجعه کنید) ، اکنون:
1) به منوی سمت چپ بروید.
2) روی روی کلیک کنید گره های GPU گزینه
3) روی کلیک کنید شروع برای شروع اولین گره GPU خود.
این گره های GPU دستگاه های مجازی با GPU توسط Nodeshift هستند. این گره ها بسیار قابل تنظیم هستند و به شما امکان می دهند تنظیمات مختلف محیطی را برای GPU های مختلف از H100 تا A100s ، CPU ، RAM و ذخیره سازی با توجه به نیازهای خود کنترل کنید.
مرحله 3: انتخاب پیکربندی برای GPU (مدل ، منطقه ، ذخیره سازی)
1) برای این آموزش ، ما از GPU 1X RTX A6000 استفاده خواهیم کرد ، با این حال ، شما می توانید هر GPU را طبق پیش نیازها انتخاب کنید.
2) به طور مشابه ، ما با کشیدن نوار ، ذخیره 200 گیگابایتی را انتخاب خواهیم کرد. همچنین می توانید منطقه ای را که می خواهید GPU خود را از موارد موجود ساکن کنید ، انتخاب کنید.
مرحله 4: روش پیکربندی و احراز هویت GPU را انتخاب کنید
1) پس از انتخاب گزینه های پیکربندی مورد نیاز خود ، گره های GPU موجود را در منطقه خود و با توجه به پیکربندی (یا بسیار نزدیک به آن) مشاهده خواهید کرد. در مورد ما ، ما یک گره GPU 1X RTX A6000 48GB را با 64VCPUS/63 گیگابایت رم/200GB SSD انتخاب خواهیم کرد.
2) در مرحله بعد ، شما باید یک روش تأیید اعتبار را انتخاب کنید. دو روش در دسترس است: رمز عبور و کلید SSH. توصیه می کنیم از کلیدهای SSH استفاده کنید ، زیرا آنها گزینه ای امن تر هستند. برای ایجاد یکی ، به مستندات رسمی ما بروید.
مرحله 5: یک تصویر را انتخاب کنید
مرحله آخر انتخاب تصویری برای VM است که در مورد ما این است nvidia cudaبشر
همین است! شما اکنون آماده استقرار گره هستید. خلاصه پیکربندی را نهایی کنید ، و اگر خوب به نظر می رسد ، کلیک کنید ایجاد کردن برای استقرار گره.
مرحله ششم: با استفاده از SSH به گره محاسبات فعال وصل شوید
1) به محض ایجاد گره ، در چند ثانیه یا یک دقیقه مستقر می شود. پس از استقرار ، وضعیتی را مشاهده خواهید کرد دویدن به رنگ سبز ، به این معنی که گره محاسباتی ما آماده استفاده است!
2) هنگامی که GPU خود این وضعیت را نشان می دهد ، به سمت سه نقطه در سمت راست حرکت کنید ، روی کلیک کنید با SSH ارتباط برقرار کنید، و جزئیات SSH را که ظاهر می شود کپی کنید.
همانطور که جزئیات را کپی می کنید ، مراحل زیر را برای اتصال به GPU VM در حال اجرا از طریق SSH دنبال کنید:
1) ترمینال خود را باز کنید ، دستور SSH را بچسبانید و آن را اجرا کنید.
2) در بعضی موارد ، ترمینال شما ممکن است قبل از اتصال رضایت شما را بگیرد. “بله” را وارد کنید.
3) سریع درخواست رمز عبور می کند. رمز عبور SSH را تایپ کنید ، و باید به هم وصل شوید.
خروجی:
بعد ، اگر می خواهید جزئیات GPU را بررسی کنید ، دستور زیر را در ترمینال اجرا کنید:
!nvidia-smi
مرحله 7: محیط پروژه را با وابستگی تنظیم کنید
1) با استفاده از آناکوندا یک محیط مجازی ایجاد کنید.
conda create -n fastvlm python=3.10 -y && conda activate fastvlm
خروجی:
2) مخزن رسمی Apple-FastVLM را کلون کنید.
git clone https://github.com/apple/ml-fastvlm.git
خروجی:
4) در داخل فهرست پروژه حرکت کنید و دستور زیر را اجرا کنید تا فهرست فعلی را به عنوان بسته در حالت قابل ویرایش نصب کنید.
cd ml-fastvlm
pip install -e .
خروجی:
مرحله 8: مدل را بارگیری و اجرا کنید
1) تمام پاسگاه های مدل را بارگیری کنید.
chmod a+x get_models.sh
bash get_models.sh
خروجی:
2) پس از بارگیری تمام پاسگاه ها ، ما ویرایشگر محلی VSCode خود را به سرور از راه دور وصل خواهیم کرد تا قبل از استنتاج تغییراتی در اسکریپت پایتون انجام دهیم.
اگر از یک GPU از طریق سرور از راه دور استفاده می کنید (به عنوان مثال ، Nodeshift) ، می توانید با دنبال کردن مراحل زیر ، آن را به ویرایشگر کد استودیو خود وصل کنید:
الف) پسوند “Remote-Ssh” توسط Microsoft را در VS Code نصب کنید.
ب) “از راه دور-ssh: اتصال به میزبان” را در پالت فرمان تایپ کنید.
ج) بر روی “اضافه کردن یک میزبان جدید” کلیک کنید.
د) جزئیات میزبان مانند نام کاربری و رمز عبور SSH را وارد کنید و باید به هم وصل شوید.
3) باز predict.py
و تمام موارد را جایگزین کنید "mps"
با "cuda"
اگر با GPU و با "cpu"
اگر فقط با CPU کار کنید. اگر این مدل را روی دستگاه MAC محلی خود اجرا می کنید ، دیگر نیازی به جایگزینی چیزی ندارید.
4) پس از اتمام ، تصاویری را که می خواهید مدل خود را روی آن آزمایش کنید بارگذاری کنید. در زیر برخی از نتایج وجود دارد که این مدل برای دو کار مختلف تولید شده است.
برای اجرای استنتاج از دستورات داده شده استفاده کنید:
برای توصیف تصویر:
(جایگزین کنید /path/to/checkpoint-dir
با مسیر کامل به مدل دقیقی که می خواهید برای استنتاج استفاده کنید. به عنوان مثال llava-fastvithd_7b_stage3
بشر همچنین جایگزین کنید /path/to/image.png
با مسیر کامل به مکانی که تصاویر خود را بارگذاری کرده اید.)
python predict.py --model-path /path/to/checkpoint-dir \
--image-file /path/to/image.png \
--prompt "Describe the image."
در اینجا یک تصویر مبهم است که ما در سریع خود از آن استفاده می کنیم:
خروجی:
برای استخراج متن از تصویر:
python predict.py --model-path /path/to/checkpoint-dir \
--image-file /path/to/image.png \
--prompt "Extract the text from this image."
در اینجا خروجی که برای تصویر داده شده دریافت کرده ایم:
تصویر:
خروجی:
پایان
FastVLM اپل به عنوان یک مدل زبان بینایی تحول آمیز است و سرعت و دقت استثنایی را از طریق رمزگذار نوآورانه FastVithD خود ارائه می دهد. FASTVLM با کاهش چشمگیر شمارش نشانه های بصری و رمزگذاری تأخیر ، عملکرد در زمان واقعی را حتی با تصاویر با وضوح بالا تضمین می کند ، و آن را برای برنامه های متنوع از دستگاه های تلفن همراه گرفته تا استقرار ابر در مقیاس بزرگ ایده آل می کند. برای استفاده کامل از قابلیت های FastVLM ، استقرار آن در یک زیرساخت قوی و مقیاس پذیر بسیار مهم است. Nodeshift Cloud با ارائه ماشین های مجازی با GPU که مقرون به صرفه و مطابق با استانداردهای صنعت مانند GDPR ، SOC2 و ISO27001 هستند ، یک راه حل بهینه ارائه می دهد. با داشتن پلت فرم کاربر پسند Nodeshift ، توسعه دهندگان می توانند با زحمت FASTVLM را تنظیم و اجرا کنند ، و از ادغام یکپارچه و عملکرد کارآمد در محیط های مختلف اطمینان حاصل کنند.
برای اطلاعات بیشتر در مورد Nodeshift: