

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Nova Forge SDK
<a name="nova-forge-sdk"></a>

Nova Forge SDK adalah SDK Python komprehensif untuk menyesuaikan model Amazon Nova. SDK menyediakan antarmuka terpadu untuk pelatihan, evaluasi, pemantauan, penyebaran, dan inferensi model Amazon Nova di berbagai platform termasuk SageMaker AI dan Amazon Bedrock. Baik Anda mengadaptasi model ke tugas khusus domain atau mengoptimalkan kinerja untuk kasus penggunaan Anda, SDK ini menyediakan semua yang Anda butuhkan dalam satu antarmuka terpadu.

## Tautan Cepat
<a name="nova-forge-sdk-quick-links"></a>

Ikuti langkah-langkah ini untuk beralih dari instalasi ke pekerjaan pelatihan pertama Anda:
+ **[Referensi SDK](https://github.com/aws/nova-forge-sdk/blob/main/docs/spec.md)** - Spesifikasi dokumentasi dan penggunaan 
+ **[Quick Start Notebook - Notebook](https://github.com/aws/nova-forge-sdk/blob/main/samples/nova_quickstart.ipynb)** Python interaktif untuk eksplorasi langsung 

## Manfaat
<a name="nova-forge-sdk-why-choose"></a>
+ Satu SDK untuk seluruh siklus hidup kustomisasi model—mulai dari persiapan data hingga penerapan dan pemantauan.
+ Dukungan untuk beberapa metode pelatihan termasuk lanjutan pra-pelatihan (CPT), penyetelan halus yang diawasi (SFT), optimasi preferensi langsung (DPO), dan penyetelan halus penguatan (RFT), baik putaran tunggal maupun multi-putaran, dengan LoRa dan pendekatan peringkat penuh.
+ Built-in dukungan untuk SageMaker Training Jobs, SageMaker HyperPod, dan Amazon Bedrock, dengan manajemen sumber daya otomatis.
+ Tidak perlu lagi menemukan resep atau URI wadah yang tepat untuk teknik pelatihan Anda.
+ Bawa resep pelatihan Anda sendiri atau gunakan default cerdas SDK dengan penggantian parameter.
+ SDK memvalidasi konfigurasi Anda terhadap kombinasi model dan instance yang didukung dan menyediakan dukungan validasi, mencegah kesalahan sebelum pelatihan dimulai.
+  CloudWatch Pemantauan Amazon terintegrasi memungkinkan Anda melacak kemajuan pelatihan secara real-time.
+ MLFlow terintegrasi untuk melacak eksperimen pelatihan dengan server pelacak SageMaker AI MLFlow.

## Persyaratan
<a name="nova-forge-sdk-requirements"></a>

**Versi Python yang Didukung**

Nova Forge SDK diuji pada:
+ Python 3.12

## Penginstalan
<a name="nova-forge-sdk-installation"></a>

Untuk menginstal SDK ini, ikuti perintah di bawah ini.

```
pip install amzn-nova-forge
```

## Model dan Teknik yang Didukung
<a name="nova-forge-sdk-supported-models"></a>

SDK mendukung model dan teknik berikut dalam keluarga Amazon Nova:


****  

| Metode | Model yang Didukung | 
| --- | --- | 
| Lanjutan Pre-training | [Semua Model Nova](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-model-recipes.html#nova-model-recipes-reference) (hanya SMHP) | 
| LoRa yang diawasi Fine-tuning  | [Semua Model Nova](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-model-recipes.html#nova-model-recipes-reference) | 
| Diawasi Fine-tuning Full-Rank | [Semua Model Nova](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-model-recipes.html#nova-model-recipes-reference) (hanya SMHP dan SMTJ) | 
| Optimasi Preferensi Langsung LoRa | Model Nova 1.0 (hanya SMHP dan SMTJ) | 
| Optimasi Preferensi Langsung Full-Rank | Model Nova 1.0 (hanya SMHP dan SMTJ) | 
| Penguatan Fine-tuning LoRa | Nova Lite 2.0 | 
| Penguatan Fine-tuning Full-Rank | Nova Lite 2.0 (hanya SMHP dan SMTJ) | 
| Multi-turn Penguatan Fine-tuning LoRa | Nova Lite 2.0 (Hanya SMHP) | 
| Multi-turn Penguatan Fine-tuning Full-Rank | Nova Lite 2.0 (Hanya SMHP) | 

## Memulai
<a name="nova-forge-sdk-getting-started"></a>

**Topics**
+ [1. Siapkan Data Anda](#nova-forge-sdk-prepare-data)
+ [2. Konfigurasikan Infrastruktur Anda](#nova-forge-sdk-configure-infrastructure)
+ [3. Melatih](#nova-forge-sdk-train)
+ [4. Memantau](#nova-forge-sdk-monitor)
+ [5. Evaluasi](#nova-forge-sdk-evaluate)
+ [6. Deploy](#nova-forge-sdk-deploy)

### 1. Siapkan Data Anda
<a name="nova-forge-sdk-prepare-data"></a>

Muat kumpulan data Anda dari file lokal atau S3, dan biarkan SDK menangani transformasi ke format yang benar untuk metode pelatihan yang Anda pilih. Atau, berikan data yang diformat dan segera mulai.

```
from amzn_nova_forge.dataset.dataset_loader import JSONLDatasetLoader
from amzn_nova_forge.model.model_enums import Model, TrainingMethod, TransformMethod

loader = JSONLDatasetLoader()
loader.load("s3://your-bucket/training-data.jsonl")
loader.transform(
    method=TransformMethod.SCHEMA,
    training_method=TrainingMethod.SFT_LORA,
    model=Model.NOVA_LITE,
    column_mappings={"question": "input", "answer": "output"},
)
```

### 2. Konfigurasikan Infrastruktur Anda
<a name="nova-forge-sdk-configure-infrastructure"></a>

Pilih sumber daya komputasi Anda—SDK memvalidasi konfigurasi dan memastikan penyiapan yang optimal.

```
from amzn_nova_forge.manager.runtime_manager import BedrockRuntimeManager, SMTJRuntimeManager, SMTJServerlessRuntimeManager, SMHPRuntimeManager

# Bedrock
runtime = BedrockRuntimeManager(
     execution_role="arn:aws:iam::123456789012:role/ExampleRole"
)

# SageMaker Training Jobs
runtime = SMTJRuntimeManager(
    instance_type="ml.p5.48xlarge",
    instance_count=4
)

# SageMaker Training Jobs Serverless
runtime = SMTJServerlessRuntimeManager(
    model_package_group_name = "my-package"
)

# SageMaker HyperPod
runtime = SMHPRuntimeManager(
    instance_type="ml.p5.48xlarge",
    instance_count=4,
    cluster_name="my-hyperpod-cluster",
    namespace="kubeflow"
)
```

### 3. Melatih
<a name="nova-forge-sdk-train"></a>

Mulai pelatihan hanya dengan beberapa baris kode.

```
from amzn_nova_forge.trainer.forge_trainer import ForgeTrainer
from amzn_nova_forge.model.model_enums import Model, TrainingMethod
from amzn_nova_forge.core import ForgeConfig

trainer = ForgeTrainer(
    model=Model.NOVA_LITE,
    method=TrainingMethod.SFT_LORA,
    infra=runtime,
    training_data_s3_path="s3://your-bucket/sft/prepared-data.jsonl",  # Training data path
    config=ForgeConfig(
        output_s3_path="s3://your-bucket/output",
    ),
)

result = trainer.train(job_name="my-training-job")
```

### 4. Memantau
<a name="nova-forge-sdk-monitor"></a>

Lacak kemajuan latihan Anda langsung dari SDK.

```
from amzn_nova_forge.monitor.log_monitor import CloudWatchLogMonitor

# Monitor training logs
trainer.get_logs()

# Or monitor directly via CloudWatchLogMonitor
monitor = CloudWatchLogMonitor.from_job_result(result)
monitor.show_logs(limit=10)

# Check job status
result.get_job_status() # InProgress, Completed, Failed
```

### 5. Evaluasi
<a name="nova-forge-sdk-evaluate"></a>

Evaluasi kinerja model dengan berbagai [tolok ukur bawaan](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-model-evaluation.html#nova-model-evaluation-benchmark), atau rancang evaluasi Anda sendiri.

```
from amzn_nova_forge.evaluator import ForgeEvaluator
from amzn_nova_forge.recipe_config.eval_config import EvaluationTask

evaluator = ForgeEvaluator(
    model=Model.NOVA_LITE,
    infra=runtime,
    config=ForgeConfig(
        output_s3_path="s3://your-bucket/output",
    ),
    data_s3_path="s3://your-bucket/eval-data/data.jsonl"
)

# Evaluate on benchmark tasks
eval_result = evaluator.evaluate(
    job_name="model-eval",
    eval_task=EvaluationTask.MMLU,
    model_path=result.model_artifacts.checkpoint_s3_path
)
```

### 6. Deploy
<a name="nova-forge-sdk-deploy"></a>

Terapkan model khusus Anda ke produksi dengan dukungan bawaan untuk Amazon Bedrock atau. SageMaker

```
from amzn_nova_forge.deployer import ForgeDeployer

deployer = ForgeDeployer(
    region="us-east-1",
    model=Model.NOVA_LITE,
)

# Bedrock provisioned throughput
deployment = deployer.deploy(
    model_artifact_path=result.model_artifacts.checkpoint_s3_path,
    deploy_platform=DeployPlatform.BEDROCK_PT,
    unit_count=10
)

# Bedrock On-Demand
deployment = deployer.deploy(
    model_artifact_path=result.model_artifacts.checkpoint_s3_path,
    deploy_platform=DeployPlatform.BEDROCK_OD
)

# Sagemaker Real-time Inference
deployment = deployer.deploy(
    model_artifact_path=result.model_artifacts.checkpoint_s3_path,
    deploy_platform=DeployPlatform.SAGEMAKER,
    unit_count=10,
    sagemaker_instance_type="ml.p5.48xlarge",
    sagemaker_environment_variables={
        "CONTEXT_LENGTH": "12000",
        "MAX_CONCURRENCY": "16",
    }
)
```

## Kemampuan Kunci
<a name="nova-forge-sdk-key-capabilities"></a>

### Penciptaan Resep On The Fly
<a name="nova-forge-sdk-recipe-creation"></a>

SDK menghilangkan kebutuhan untuk mencari resep atau URI wadah yang sesuai untuk teknik tertentu.

### Pemrosesan Data Cerdas
<a name="nova-forge-sdk-data-processing"></a>

SDK secara otomatis mengubah data Anda menjadi format yang benar untuk pelatihan. Baik Anda bekerja dengan file JSON, JSONL, atau CSV, pemuat data menangani konversi dengan mulus. Data Loader mendukung teks serta data multimodal (gambar dan video).

### Dukungan Infrastruktur Perusahaan
<a name="nova-forge-sdk-infrastructure-support"></a>

SDK bekerja dengan Pekerjaan SageMaker Pelatihan dan SageMaker HyperPod, secara otomatis mengelola:
+ Validasi tipe instans
+ Validasi resep
+ Validasi kumpulan data
+ Orkestrasi dan pemantauan Job

SDK juga mendukung SageMaker Pelatihan Pekerjaan tanpa server dan kustomisasi Bedrock.

### Evaluasi komprehensif
<a name="nova-forge-sdk-evaluation"></a>

Evaluasi model khusus Anda terhadap [tolok ukur standar](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-hp-evaluate.html) termasuk:
+ MMLU (Pemahaman Bahasa Multitask Besar-besaran)
+ BBH (Tugas Penalaran Tingkat Lanjut)
+ GPQA (T&J) Graduate-Level Google-Proof 

Baik menggunakan default benchmark, atau memodifikasinya agar sesuai dengan kebutuhan Anda:
+ BYOM (Bawa Metrik Anda Sendiri)
+ BYOD (Bawa Dataset Anda Sendiri)

### Penyebaran Produksi
<a name="nova-forge-sdk-deployment"></a>

Terapkan model Anda ke Amazon Bedrock atau SageMaker AI dengan opsi untuk:
+ **Bedrock Provisioned Throughput** - Kapasitas khusus untuk kinerja yang konsisten
+ **Bedrock On-Demand (hanya berlaku untuk kustomisasi berbasis LoRa)** - harga Pay-per-use 
+ **SageMaker Real-time Inferensi AI** - Kapasitas khusus untuk kinerja yang konsisten

### Inferensi Batch
<a name="nova-forge-sdk-batch-inference"></a>

Jalankan pekerjaan inferensi skala besar secara efisien:
+ Memproses ribuan permintaan secara paralel
+ Agregasi hasil otomatis
+ Cost-effective pemrosesan batch

### Nova Forge
<a name="nova-forge-sdk-forge"></a>

Untuk pelanggan Nova Forge, SDK mendukung resep pencampuran data.

## Pelajari Lebih Lanjut
<a name="nova-forge-sdk-learn-more"></a>

Siap untuk mulai menyesuaikan model Nova dengan Nova Forge SDK? Lihat GitHub repositori kami untuk panduan terperinci, referensi API, dan contoh tambahan: [https://github.com/aws/nova-forge-sdk](https://github.com/aws/nova-forge-sdk)