Prediksi batch

Prediksi batch memungkinkan Anda mengirim beberapa perintah teks saja yang tidak sensitif terhadap latensi ke model Llama secara efisien. Dibandingkan dengan prediksi online, yang memerlukan pengiriman satu perintah input untuk setiap permintaan, Anda dapat mengelompokkan sejumlah besar perintah input dalam satu permintaan.

Tidak ada biaya untuk prediksi batch selama periode Pratinjau.

Model Llama yang didukung

Vertex AI mendukung prediksi batch untuk model Llama berikut:

  • Llama 3.1 405B (llama-3.1-405b-instruct-maas)
  • Llama 3.1 70B (llama-3.1-70b-instruct-maas)
  • Llama 3.1 8B (llama-3.1-8b-instruct-maas)

Menyiapkan input

Sebelum memulai, siapkan input dalam tabel BigQuery atau sebagai file JSONL di Cloud Storage. Input untuk kedua sumber harus mengikuti format JSON skema OpenAI API, seperti yang ditunjukkan dalam contoh berikut:

{"custom_id": "test-request-0", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "meta/llama-3.1-405b-instruct-maas", "messages": [{"role": "system", "content": "You are a chef."}, {"role": "user", "content": "Give me a recipe for banana bread"}], "max_tokens": 1000}}

BigQuery

Tabel input BigQuery Anda harus mematuhi skema berikut:

Nama kolom Deskripsi
custom_id ID untuk setiap permintaan agar cocok dengan input dan output.
metode Metode permintaan.
url Endpoint permintaan.
isi(JSON) Perintah input Anda.
  • Tabel input Anda dapat memiliki kolom lain, yang diabaikan oleh tugas batch dan diteruskan langsung ke tabel output.
  • Tugas prediksi batch mencadangkan dua nama kolom untuk output prediksi batch: response(JSON) dan id. Jangan gunakan kolom ini dalam tabel input.
  • Kolom method dan url dihapus dan tidak disertakan dalam tabel output.

Cloud Storage

Untuk Cloud Storage, file input harus berupa file JSONL yang berada di bucket Cloud Storage.

Meminta prediksi batch

Buat prediksi batch terhadap model Llama menggunakan input dari BigQuery atau Cloud Storage. Anda dapat memilih secara independen untuk menghasilkan prediksi ke tabel BigQuery atau file JSONL di bucket Cloud Storage.

BigQuery

Tentukan tabel input, model, dan lokasi output BigQuery Anda. Tugas prediksi batch dan tabel Anda harus berada di region yang sama.

REST

Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirimkan permintaan ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region yang mendukung model Llama.
  • PROJECT_ID: Project ID Anda.
  • MODEL: Nama model yang akan disesuaikan.
  • INPUT_URI: Tabel BigQuery tempat input prediksi batch Anda berada, seperti myproject.mydataset.input_table.
  • OUTPUT_FORMAT: Untuk menghasilkan output ke tabel BigQuery, tentukan bigquery. Untuk menghasilkan output ke bucket Cloud Storage, tentukan jsonl.
  • DESTINATION: Untuk BigQuery, tentukan bigqueryDestination. Untuk Cloud Storage, tentukan gcsDestination.
  • OUTPUT_URI_FIELD_NAME: Untuk BigQuery, tentukan outputUri. Untuk Cloud Storage, tentukan outputUriPrefix.
  • OUTPUT_URI: Untuk BigQuery, tentukan lokasi tabel seperti myproject.mydataset.output_result. Untuk Cloud Storage, tentukan lokasi bucket dan folder seperti gs://mybucket/path/to/outputfile.

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs

Isi JSON permintaan:

'{
  "displayName": "JOB_NAME",
  "model": "publishers/meta/models/MODEL",
  "inputConfig": {
    "instancesFormat":"bigquery",
    "bigquerySource":{
      "inputUri" : "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat":"OUTPUT_FORMAT",
    "DESTINATION":{
      "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI"
    }
  }
}'

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip seperti berikut:

Cloud Storage

Tentukan lokasi Cloud Storage, model, dan lokasi output file JSONL Anda.

REST

Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirimkan permintaan ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region yang mendukung model Llama.
  • PROJECT_ID: Project ID Anda.
  • MODEL: Nama model yang akan disesuaikan.
  • INPUT_URI: Lokasi Cloud Storage input prediksi batch JSONL Anda seperti gs://bucketname/path/to/jsonl.
  • OUTPUT_FORMAT: Untuk menghasilkan output ke tabel BigQuery, tentukan bigquery. Untuk menghasilkan output ke bucket Cloud Storage, tentukan jsonl.
  • DESTINATION: Untuk BigQuery, tentukan bigqueryDestination. Untuk Cloud Storage, tentukan gcsDestination.
  • OUTPUT_URI_FIELD_NAME: Untuk BigQuery, tentukan outputUri. Untuk Cloud Storage, tentukan outputUriPrefix.
  • OUTPUT_URI: Untuk BigQuery, tentukan lokasi tabel seperti myproject.mydataset.output_result. Untuk Cloud Storage, tentukan lokasi bucket dan folder seperti gs://mybucket/path/to/outputfile.

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs

Isi JSON permintaan:

'{
  "displayName": "JOB_NAME",
  "model": "publishers/meta/models/MODEL",
  "inputConfig": {
    "instancesFormat":"jsonl",
    "gcsDestination":{
      "uris" : "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat":"OUTPUT_FORMAT",
    "DESTINATION":{
      "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI"
    }
  }
}'

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip seperti berikut:

Mendapatkan status tugas prediksi batch

Dapatkan status tugas prediksi batch untuk memeriksa apakah tugas tersebut telah berhasil selesai. Durasi tugas bergantung pada jumlah item input yang Anda kirimkan.

REST

Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirimkan permintaan ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat tugas batch Anda berada.
  • JOB_ID: ID tugas batch yang ditampilkan saat Anda membuat tugas.

Metode HTTP dan URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan berikut ini.

Mengambil output

Setelah tugas prediksi batch selesai, ambil output dari lokasi yang Anda tentukan. Untuk BigQuery, outputnya ada di kolom response(JSON) pada tabel BigQuery tujuan Anda. Untuk Cloud Storage, output disimpan sebagai file JSONL di lokasi Cloud Storage output.