در معرفیِ Modal دیدیم چطور این پلتفرم اجرای کد روی GPU ابری را ساده می‌کند. حالا اولین تابعِ ابریِ خود را قدم‌به‌قدم می‌سازیم.

گام ۱: نصب و ورود

pip install modal
modal setup   # مرورگر باز می‌شود تا حساب را متصل کنید

راهنمای رسمیِ شروع در مستنداتِ Modal موجود است.

گام ۲: اولین تابعِ ابری

یک فایل به نامِ app.py بسازید. با دکوراتورِ @app.function یک تابعِ معمولیِ پایتون را به یک تابعِ ابری تبدیل می‌کنید:

import modal
app = modal.App("first-app")

@app.function()
def square(x):
    print("در حالِ اجرا روی ابرِ Modal!")
    return x * x

@app.local_entrypoint()
def main():
    print(square.remote(12))  # اجرای تابع روی ابر

با دستورِ modal run app.py این کد روی زیرساختِ Modal اجرا می‌شود، نه لپ‌تاپِ شما.

گام ۳: تعریفِ محیط و کتابخانه‌ها

برای نصبِ کتابخانه‌ها، یک Image تعریف می‌کنید — همه چیز داخلِ کد:

image = modal.Image.debian_slim().pip_install("transformers", "torch")

@app.function(image=image)
def analyze(text):
    from transformers import pipeline
    clf = pipeline("sentiment-analysis")
    return clf(text)

گام ۴: درخواستِ GPU (بخشِ کلیدی)

افزودنِ GPU به‌سادگیِ یک پارامتر است:

@app.function(image=image, gpu="A10G")
def generate(prompt):
    from transformers import pipeline
    gen = pipeline("text-generation", model="gpt2", device=0)
    return gen(prompt, max_new_tokens=50)[0]["generated_text"]

همین! Modal یک کانتینر با GPU از نوعِ A10G برایتان بالا می‌آورد، کد را اجرا می‌کند و پس از پایان، منابع را آزاد می‌کند — شما فقط برای ثانیه‌های اجرا هزینه می‌دهید.

گام ۵: تبدیل به وب‌اندپوینت

می‌خواهید تابعتان از طریقِ وب قابلِ فراخوانی باشد؟ یک دکوراتورِ دیگر:

@app.function(image=image, gpu="A10G")
@modal.fastapi_endpoint()
def api(prompt: str):
    return {"result": generate.local(prompt)}

با modal deploy app.py یک URL دائمی می‌گیرید که می‌توانید در محصولتان استفاده کنید.

گام ۶: نکاتِ حرفه‌ای

  • مدل را یک‌بار بارگذاری کنید: با کلاس‌ها و @modal.enter مدل را در راه‌اندازیِ کانتینر لود کنید تا هر درخواست سریع باشد.
  • GPU مناسب را انتخاب کنید: برای مدل‌های کوچک A10G کافی است؛ برای مدل‌های بزرگ سراغِ گزینه‌های قوی‌تر بروید.
  • از نمونه‌ها یاد بگیرید: مجموعهٔ مثال‌های Modal الگوهای آمادهٔ فراوانی دارد.
  • Volumeها برای داده: برای کش کردنِ وزن‌های مدل، از Volume استفاده کنید تا هر بار دانلود نشود.

جمع‌بندی

دیدیم که با Modal، یک تابعِ سادهٔ پایتون در چند دقیقه به یک سرویسِ ابریِ مجهز به GPU و مقیاس‌پذیر تبدیل می‌شود — بدونِ یک خط کدِ DevOps. این قدرت و انعطاف، Modal را به انتخابِ محبوبِ مهندسانِ هوش مصنوعی تبدیل کرده. برای ساختِ زیرساختِ هوش مصنوعیِ اختصاصی و مقیاس‌پذیرِ سازمانِ شما، دیباچین آماده است.

پرسش‌های متداول

برای شروع با Modal چه چیزی لازم است؟

فقط پایتون و یک حساب Modal. با pip install modal و modal setup شروع می‌کنید و اولین تابع را با modal run اجرا می‌کنید.

چطور در Modal از GPU استفاده کنم؟

کافی است پارامتر gpu را به دکوراتور @app.function اضافه کنید، مثلاً gpu="A10G". Modal کانتینر مجهز به GPU را خودکار مدیریت می‌کند.

آیا می‌توان تابع Modal را به API وب تبدیل کرد؟

بله؛ با دکوراتور fastapi_endpoint تابع به یک وب‌اندپوینت تبدیل می‌شود و با modal deploy یک URL دائمی می‌گیرید.

منابع معتبر و مطالعهٔ بیشتر

نقش دیباچین

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