MLOps Academy · Pelajaran

Muat Model Sekali Saat Startup

Gunakan peristiwa lifespan agar pemuatan hanya terjadi sekali.

Pelajaran 3 dari 413 langkah

Muat Model Sekali Saat Startup adalah pelajaran MLOps Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar MLOps Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus MLOps Academy mencakup 4 pelajaran total.

Jebakan Endpoint Lambat

Jika Anda memanggil joblib.load di dalam /predict, model akan dimuat ulang pada setiap permintaan. Hal itu lambat dan boros untuk model berukuran besar. 🐢

Muat Hanya Sekali

Solusinya: muat model satu kali saat layanan dimulai, simpan di memori, lalu gunakan kembali untuk setiap prediksi.

Pengait Lifespan

FastAPI menyediakan fungsi lifespan untuk menjalankan penyiapan sebelum melayani permintaan dan pembersihan setelahnya. Fungsi ini adalah tempat yang tepat untuk memuat model.

Tulis Pengelola Konteks Asinkron

Anda menghias fungsi asinkron dengan asynccontextmanager. Kode sebelum yield berjalan saat mulai, sedangkan kode setelahnya berjalan saat berhenti.

from contextlib import asynccontextmanager

Simpan Model dalam State

Muat model saat mulai, lalu simpan di app.state, tempat bersama yang nantinya dapat dijangkau oleh setiap penangan permintaan.

@asynccontextmanager
async def lifespan(app):
    app.state.model = joblib.load("model.joblib")
    yield

Hubungkan ke Aplikasi

Teruskan fungsi lifespan Anda saat membuat aplikasi. Kini FastAPI menjalankan kode pemuatan Anda sekali saat server mulai.

app = FastAPI(lifespan=lifespan)

Baca di Rute

Di dalam /predict, Anda mengambil model yang sudah dimuat dari app.state. Tidak ada pembacaan dari disk, hanya pencarian cepat di memori.

@app.post("/predict")
def predict(req: Request):
    model = req.app.state.model

Bersihkan Saat Berhenti

Apa pun yang berada setelah yield berjalan saat aplikasi berhenti, sehingga cocok untuk menutup file atau membebaskan memori GPU yang digunakan model.

    yield
    app.state.model = None

Permintaan Pertama Lebih Cepat

Karena pemuatan selesai saat startup, pengguna pertama pun mendapatkan respons cepat, bukan terkena penalti pemuatan awal. ⚡

Perhatikan Jumlah Worker

Setiap worker uvicorn merupakan proses tersendiri dengan salinan modelnya sendiri. Semakin banyak worker berarti semakin banyak memori yang digunakan, jadi tentukan jumlahnya dengan cermat.

Mengapa Ini Penting

Memuat sekali merupakan pengoptimalan inti saat melayani model: langkah ini mengurangi latensi, menurunkan I/O disk, dan membuat penggunaan memori tetap mudah diperkirakan saat menghadapi lalu lintas nyata. 📈

Pemeriksaan Singkat

Anda ingin model dimuat tepat satu kali saat layanan dimulai. Di mana hal itu seharusnya dilakukan?

Rangkuman

Anda memindahkan pemuatan ke pengait lifespan, menyimpan model di app.state, dan membacanya pada setiap permintaan. Satu kali memuat, respons cepat, dan penghentian yang bersih. 🙌

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Muat Model Sekali Saat Startup” gratis?

Ya — teks lengkap “Muat Model Sekali Saat Startup” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus MLOps Academy, upgrade ke CoddyKit PRO. Kursus MLOps Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Muat Model Sekali Saat Startup”?

Gunakan peristiwa lifespan agar pemuatan hanya terjadi sekali. Kamu berlatih MLOps Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai MLOps Academy?

Tidak diperlukan pengalaman sebelumnya. MLOps Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Muat Model Sekali Saat Startup” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran MLOps Academy ini?

Ya. Setiap pelajaran MLOps Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Endpoint /predict Pertama Anda
  2. Validasi Permintaan dengan Pydantic
  3. Muat Model Sekali Saat Startup
  4. Tambahkan Pemeriksaan Kesiapan /health
← Kembali ke MLOps Academy