Dokumen ini menjelaskan cara menggunakan fungsi AI MaxFrame di Alibaba Cloud MaxCompute dan menyediakan kasus penggunaan untuk memulai aplikasi inferensi offline model bahasa besar.
Ikhtisar
Fungsi AI MaxFrame merupakan solusi end-to-end untuk inferensi offline model bahasa besar (LLM) pada platform Alibaba Cloud MaxCompute. Fungsi ini mengintegrasikan pemrosesan data dengan kemampuan AI secara mulus, sehingga menyederhanakan adopsi model bahasa besar tingkat enterprise.
Filosofi desain: "Data masuk, hasil keluar." Pendekatan ini memungkinkan Anda menggunakan framework Python MaxFrame dan API bergaya pandas untuk menyelesaikan seluruh alur kerja—mulai dari persiapan dan pemrosesan data hingga inferensi model dan penyimpanan hasil—semuanya dalam ekosistem MaxCompute.
Kasus penggunaan: Fungsi ini ideal untuk memproses volume besar data terstruktur, seperti analisis log dan log perilaku pengguna, serta data tidak terstruktur untuk tugas seperti terjemahan teks, ringkasan dokumen, dan vektorisasi. Fungsi ini mampu memproses data berskala petabyte dalam satu pekerjaan dan mencapai latensi rendah serta skalabilitas linear melalui arsitektur komputasi terdistribusinya. Anda dapat menggunakannya untuk mengekstraksi informasi terstruktur dari teks, mengatur dan meringkas konten, menghasilkan abstrak, menerjemahkan bahasa, menilai kualitas teks, serta mengklasifikasikan sentimen. Hal ini sangat menyederhanakan pemrosesan data untuk model bahasa besar dan meningkatkan kualitas hasilnya.
Arsitektur
Fungsi AI MaxFrame menyediakan antarmuka
generateyang fleksibel dan umum, serta antarmukataskyang ringkas dan spesifik untuk skenario seperti terjemahan teks, ekstraksi data terstruktur, dan vektorisasi. Anda memilih model dan memberikan tabel MaxCompute serta prompt sebagai input.Saat Anda memanggil antarmuka tersebut, MaxFrame pertama-tama melakukan sharding data pada tabel input. Anda dapat mengatur tingkat konkurensi yang sesuai berdasarkan volume data dan meluncurkan sekelompok worker untuk menjalankan pekerjaan komputasi. Setiap worker menggunakan templat prompt yang disediakan untuk merender dan menyusun input model dari baris data, menjalankan pekerjaan inferensi, lalu menulis hasil serta status keberhasilan kembali ke MaxCompute.
Gambar berikut menunjukkan arsitektur dan alur kerjanya.

Keunggulan utama:
Kemudahan penggunaan: API Python yang familiar, pustaka model siap pakai, dan biaya penerapan nol.
Skalabilitas: Memanfaatkan kuota CU MaxCompute, kuota GU, dan sumber daya Inference Quota untuk mendukung pemrosesan paralel skala besar dan meningkatkan throughput token secara keseluruhan.
Integrasi data dan AI: Selesaikan seluruh alur kerja—mulai dari pembacaan dan pemrosesan data hingga inferensi AI dan penyimpanan hasil—pada satu platform. Hal ini mengurangi biaya migrasi data dan meningkatkan efisiensi pengembangan.
Cakupan skenario luas: Mencakup lebih dari 10 kasus penggunaan umum, termasuk terjemahan, ekstraksi data terstruktur, dan vektorisasi.
Persyaratan
Wilayah yang didukung:
Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Tiongkok (Chengdu), Tiongkok (Hong Kong), Cloud Keuangan Tiongkok (Hangzhou), dan Cloud Keuangan Tiongkok (Shanghai).
Versi Python yang didukung: 3.11.
Versi SDK yang didukung: Pastikan versi SDK MaxFrame Anda 2.7.1 atau lebih baru. Anda dapat memeriksa versi dengan menjalankan salah satu perintah berikut:
// Untuk Windows pip list | findstr maxframe // Untuk Linux pip list | grep maxframeJika versi Anda sudah usang, jalankan
pip install --upgrade maxframeuntuk meningkatkan ke versi terbaru.
Model yang didukung
MaxFrame menyediakan dukungan siap pakai untuk serangkaian model bahasa besar bawaan, termasuk Qwen 3, DeepSeek-R1-Distill-Qwen, dan Qwen3-embedding. Fungsi ini juga memungkinkan Anda memanggil model flagship komersial dari Model Studio, seperti model multimodal qwen3.7-max, qwen3.6-plus, qwen3.6-flash, deepseek-v4-pro, deepseek-v4-flash, dan qwen3-vl-embedding, serta model teks text-embedding-v4. Semua model di-hosting secara offline dalam platform MaxCompute. Hal ini menghilangkan kebutuhan untuk mengelola unduhan model, distribusi, atau batas konkurensi API. Anda dapat menggunakan model tersebut dengan panggilan API sederhana, yang memungkinkan Anda memanfaatkan sumber daya komputasi besar-besaran MaxCompute untuk menyelesaikan tugas inferensi offline dengan throughput token dan konkurensi tinggi secara keseluruhan.
Model yang didukung
Jenis model | Nama model | Kuota |
Model komersial Model Studio |
|
|
Model open-source seri Qwen 3 |
|
|
Model open-source Qwen Embedding |
|
|
Model open-source seri Deepseek-R1-Distill-Qwen |
|
|
Model open-source Deepseek-R1-0528-Qwen3 |
|
|
Jenis sumber daya kuota
MaxFrame mendukung tiga jenis sumber daya, memungkinkan Anda memilih yang paling sesuai dengan ukuran model dan kebutuhan bisnis Anda.
Sumber daya kuota CU
Compute Unit (CU) adalah sumber daya komputasi CPU tujuan umum (1 vCPU dan 4 GB memori) yang cocok untuk model kecil dan tugas inferensi skala kecil.
Konfigurasi:
# Gunakan sumber daya komputasi kuota CU.
options.session.quota_name = "mf_cpu_quota"Sumber daya kuota GU
GPU Unit (GU) adalah sumber daya komputasi GPU yang dioptimalkan untuk inferensi LLM. Sumber daya ini mendukung model yang lebih besar dan cocok untuk tugas inferensi dengan model berparameter 8B atau lebih.
Konfigurasi:
# Gunakan sumber daya komputasi kuota GU.
options.session.gu_quota_name = "mf_gpu_quota"Sumber daya Inference Quota (penagihan berbasis token)
Opsi ini memungkinkan Anda memanggil model bahasa besar komersial dari Model Studio, seperti qwen3-max dan text-embedding-v4. Penagihan didasarkan pada konsumsi token aktual. Pendekatan ini menghilangkan kebutuhan untuk menyediakan sumber daya CU atau GU dan mengelola infrastruktur dasar, sehingga menawarkan solusi yang fleksibel, nyaman, dan hemat biaya.
Referensi API
Fungsi AI MaxFrame menyediakan dua antarmuka untuk menyeimbangkan fleksibilitas dengan kemudahan penggunaan: antarmuka umum generate dan antarmuka spesifik tugas task.
Umum: generate
Antarmuka generate
Parameter utama
Parameter | Wajib | Deskripsi |
model_name | Ya | Nama model yang akan digunakan. |
df | Ya | Teks atau data yang akan dianalisis, dikemas dalam DataFrame. |
prompt_template | Ya | Daftar pesan yang kompatibel dengan format pesan chat OpenAI. Anda dapat menggunakan sintaks |
Spesifik tugas: task
Antarmuka spesifik skenario: Task
Antarmuka tugas standar yang telah ditentukan menyederhanakan pengembangan untuk kasus penggunaan umum. Antarmuka task yang saat ini didukung meliputi translate, extract, dan embed.
Parameter utama
Parameter
Wajib
Deskripsi
model_name
Ya
Nama model yang akan digunakan.
df
Ya
Teks atau data yang akan dianalisis, dikemas dalam DataFrame.
task interface
Ya
translate: melakukan terjemahan bahasa.extract: melakukan ekstraksi data terstruktur.embed: melakukan vektorisasi.
Contoh penggunaan
from maxframe.learn.contrib.llm.models.managed import ManagedTextLLM llm = ManagedTextLLM(name="<model_name>") # Terjemahkan teks. translated_df = llm.translate( df["english_column"], source_language="english", target_language="Chinese", examples=[("Hello", "你好"), ("Goodbye", "再见")], ) translated_df.execute()
Kasus penggunaan
Kuota GU
Skenario kuota GU
Terjemahan bahasa
Skenario: Perusahaan multinasional perlu menerjemahkan 100.000 kontrak berbahasa Inggris ke dalam bahasa Tiongkok dan menganotasi klausa-klausa penting.
import os
import maxframe.dataframe as md
from maxframe import new_session
from maxframe.config import options
from maxframe.udf import with_running_options
from odps import ODPS
options.dag.settings = {
"engine_order": ["DPE", "MCSQL"]
}
o = ODPS(
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
project='your-default-project',
endpoint='your-end-point',
)
# Inisialisasi sesi MaxFrame.
session = new_session(o)
# Cetak URL Logview untuk pekerjaan.
print(session.get_logview_address())
# 1. Gunakan sumber daya komputasi kuota GU.
options.session.gu_quota_name = "mf_gu_quota"
# 2. Gunakan model Qwen3-1.7B.
from maxframe.learn.contrib.llm.models.managed import ManagedTextLLM
llm = ManagedTextLLM(name="Qwen3-1.7B")
# 3. Siapkan data. Anda dapat melewati langkah ini jika sudah memiliki data.
# o.execute_sql("""
# CREATE TABLE IF NOT EXISTS raw_contracts (
# en STRING
# );
# """)
#
# o.execute_sql("""
# INSERT INTO raw_contracts VALUES
# ('This agreement is governed by the laws of the State of California.'),
# ('The tenant shall pay rent on the first day of each month.'),
# ('Either party may terminate this contract with 30 days written notice.'),
# ('All intellectual property rights shall remain with the original owner.'),
# ('The warranty period for this product is twelve months from the date of purchase.');
# """)
df = md.read_odps_table("raw_contracts")
# 4. Tentukan templat prompt.
messages = [
{
"role": "system",
"content": "Anda adalah ahli terjemahan dokumen yang dapat menerjemahkan teks bahasa Inggris ke bahasa Tiongkok dengan lancar.",
},
{
"role": "user",
"content": "Terjemahkan teks bahasa Inggris berikut ke dalam bahasa Tiongkok. Keluarkan hanya teks terjemahan, tanpa konten lain.\n\n Contoh:\nInput: Hi\nOutput: 你好。\n\n Teks yang akan diterjemahkan:\n\n{en}",
},
]
# 5. Panggil antarmuka `generate`, tentukan prompt, dan referensikan kolom data yang sesuai.
result_df = llm.generate(
df,
prompt_template=messages,
params={
"temperature": 0.7,
"top_p": 0.8,
},
).execute()
# 6. Tulis hasil ke tabel MaxCompute.
result_df.to_odps_table("raw_contracts_result")Ekstraksi kata kunci
Skenario: Kasus penggunaan ini menunjukkan bagaimana fungsi AI MaxFrame memproses data tidak terstruktur. Sebagian besar data tidak terstruktur terdiri dari teks dan gambar, yang menimbulkan tantangan signifikan bagi analitik data besar. Contoh berikut menunjukkan cara menggunakan fungsi AI untuk menyederhanakan proses ini.
Kode berikut menunjukkan cara menggunakan fungsi AI untuk mengekstraksi pengalaman kerja kandidat dari resume. Contoh ini menggunakan teks resume yang dihasilkan secara acak sebagai input. Untuk praktik pengembangan dan demo terperinci, lihat Praktik Pengembangan Fungsi AI pada GU.
import maxframe.dataframe as md
from maxframe import new_session
from maxframe.config import options
from maxframe.udf import with_running_options
from odps import ODPS
options.dag.settings = {
"engine_order": ["DPE", "MCSQL"]
}
o = ODPS(
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
project='your-default-project',
endpoint='your-end-point',
)
# Inisialisasi sesi MaxFrame.
session = new_session(o)
# Cetak URL Logview untuk pekerjaan.
print(session.get_logview_address())
# 1. Gunakan sumber daya komputasi kuota GU.
options.session.gu_quota_name = "mf_gu_quota"
# 2. Gunakan model Qwen3-4B.
from maxframe.learn.contrib.llm.models.managed import ManagedTextLLM
llm = ManagedTextLLM(name="Qwen3-4B-Instruct-2507-FP8")
df = md.read_odps_table("traditional_chinese_medicine", index_col="index")
# Tentukan empat partisi konkuren.
parallel_partitions = 4
df = df.mf.rebalance(num_partitions=parallel_partitions)
# 3. Gunakan antarmuka tugas `extract` yang telah ditentukan.
result_df = llm.extract(
df["text"],
description="Harap ekstrak data terstruktur dari catatan medis berikut secara berurutan. Kembalikan output akhir dalam format JSON ketat sesuai skema.",
schema=MedicalRecord,
examples=[(example_input, example_output)],
)
result_df.execute()
Kuota Inferensi
Skenario kuota inferensi
Vektorisasi teks: text-embedding-v4
Skenario: Gunakan model komersial Model Studio text-embedding-v4 untuk melakukan tugas vektorisasi. Penagihan didasarkan pada konsumsi token, sehingga menghilangkan kebutuhan untuk mengelola sumber daya komputasi dasar. Skenario ini cocok untuk analisis teks kompleks dan tugas inferensi berkualitas tinggi yang memerlukan model besar atau model bahasa besar komersial dari Model Studio.
Pemahaman gambar: qwen3.6-plus
Skenario: Skenario ini cocok untuk inferensi berkualitas tinggi dan analisis teks kompleks atau tugas pemrosesan data multimodal yang memerlukan model besar atau model bahasa besar komersial dari Model Studio. Sumber daya dikonsumsi sesuai permintaan, membantu Anda mengendalikan biaya.
Optimasi kinerja
Inferensi paralel
MaxFrame menggunakan komputasi paralel untuk menjalankan inferensi offline dalam skala besar:
Sharding data: Antarmuka
rebalancemendistribusikan tabel data input secara merata di beberapa node pekerja berdasarkan jumlah partisi yang ditentukan (num_partitions).Pemuatan model paralel: Setiap pekerja memuat dan melakukan pre-warm model secara independen. Hal ini menghindari latensi cold start akibat pemuatan model.
Agregasi hasil: Hasil output ditulis ke tabel MaxCompute berdasarkan partisi, yang mendukung analisis data selanjutnya.
Rekomendasi penyetelan
Beralih ke sumber daya komputasi heterogen
Untuk model besar (8B parameter atau lebih), inferensi CPU tidak efisien. Kami menyarankan beralih ke sumber daya kuota GU atau Inference Quota untuk inferensi.
Memproses partisi data secara paralel
Untuk pekerjaan inferensi skala besar, gunakan antarmuka
rebalanceuntuk melakukan sharding data guna pemrosesan paralel berdasarkan distribusi data Anda.