<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=LLM%3A_Fine_Tine_Ollama_deepseek-r1%3A1.5b</id>
	<title>LLM: Fine Tine Ollama deepseek-r1:1.5b - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=LLM%3A_Fine_Tine_Ollama_deepseek-r1%3A1.5b"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=LLM:_Fine_Tine_Ollama_deepseek-r1:1.5b&amp;action=history"/>
	<updated>2026-04-20T10:04:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=LLM:_Fine_Tine_Ollama_deepseek-r1:1.5b&amp;diff=72952&amp;oldid=prev</id>
		<title>Unknown user: Created page with &quot;### Langkah-langkah Fine-Tuning Model DeepSeek-Coder-1.3B dengan Dataset JSONL untuk Ollama  Berdasarkan informasi yang tersedia, model yang Anda maksud kemungkinan besar adal...&quot;</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=LLM:_Fine_Tine_Ollama_deepseek-r1:1.5b&amp;diff=72952&amp;oldid=prev"/>
		<updated>2025-10-04T21:58:02Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;### Langkah-langkah Fine-Tuning Model DeepSeek-Coder-1.3B dengan Dataset JSONL untuk Ollama  Berdasarkan informasi yang tersedia, model yang Anda maksud kemungkinan besar adal...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;### Langkah-langkah Fine-Tuning Model DeepSeek-Coder-1.3B dengan Dataset JSONL untuk Ollama&lt;br /&gt;
&lt;br /&gt;
Berdasarkan informasi yang tersedia, model yang Anda maksud kemungkinan besar adalah **DeepSeek-Coder-1.3B-Instruct** (dari Hugging Face: `deepseek-ai/deepseek-coder-1.3b-instruct`), karena tidak ada varian resmi &amp;quot;deepseek-r1:1.5b&amp;quot;. Model ini berukuran sekitar 1.3B parameter dan sangat cocok untuk fine-tuning lokal karena ringan. Fine-tuning dilakukan menggunakan script resmi dari repo DeepSeek-Coder, dengan input dataset dalam format **JSONL** (setiap baris adalah JSON object dengan field `instruction` dan `output`).&lt;br /&gt;
&lt;br /&gt;
Setelah fine-tuning, model output dalam format Hugging Face (HF) perlu dikonversi ke **GGUF** menggunakan `llama.cpp` agar bisa langsung dijalankan di **Ollama**. Berikut panduan langkah demi langkah. Asumsi: Anda punya environment Python 3.10+ dengan GPU (untuk percepatan), dan dataset JSONL siap (contoh format di bawah).&lt;br /&gt;
&lt;br /&gt;
#### 1. **Persiapan Dataset JSONL**&lt;br /&gt;
   - Format dataset: Setiap baris adalah string JSON dengan dua field wajib: `instruction` (prompt/instruksi) dan `output` (respon yang diharapkan).&lt;br /&gt;
   - Contoh file `data.jsonl`:&lt;br /&gt;
     ```&lt;br /&gt;
     {&amp;quot;instruction&amp;quot;: &amp;quot;Write a Python function to calculate factorial.&amp;quot;, &amp;quot;output&amp;quot;: &amp;quot;def factorial(n):\n    if n == 0:\n        return 1\n    return n * factorial(n-1)&amp;quot;}&lt;br /&gt;
     {&amp;quot;instruction&amp;quot;: &amp;quot;Explain recursion in simple terms.&amp;quot;, &amp;quot;output&amp;quot;: &amp;quot;Recursion is a function that calls itself to solve smaller instances of the same problem.&amp;quot;}&lt;br /&gt;
     ```&lt;br /&gt;
   - Sumber: Format ini direkomendasikan oleh DeepSeek untuk fine-tuning.&lt;br /&gt;
&lt;br /&gt;
#### 2. **Setup Environment dan Instal Dependencies**&lt;br /&gt;
   - Clone repo DeepSeek-Coder:&lt;br /&gt;
     ```&lt;br /&gt;
     git clone https://github.com/deepseek-ai/DeepSeek-Coder&lt;br /&gt;
     cd DeepSeek-Coder&lt;br /&gt;
     ```&lt;br /&gt;
   - Instal dependencies untuk fine-tuning (termasuk DeepSpeed untuk efisiensi):&lt;br /&gt;
     ```&lt;br /&gt;
     pip install -r finetune/requirements.txt&lt;br /&gt;
     ```&lt;br /&gt;
     - Dependencies utama: `transformers`, `datasets`, `deepspeed`, `torch`, `accelerate`.&lt;br /&gt;
   - Untuk konversi GGUF nanti, instal `llama.cpp`:&lt;br /&gt;
     ```&lt;br /&gt;
     git clone https://github.com/ggerganov/llama.cpp&lt;br /&gt;
     cd llama.cpp&lt;br /&gt;
     make&lt;br /&gt;
     pip install -r requirements.txt  # Untuk converter Python&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
#### 3. **Fine-Tuning Model**&lt;br /&gt;
   - Gunakan script `finetune/finetune_deepseekcoder.py` dari repo. Ini mendukung DeepSpeed untuk training efisien.&lt;br /&gt;
   - Contoh command (sesuaikan path dan hyperparams; model 1.3B bisa dijalankan di GPU 8GB+):&lt;br /&gt;
     ```&lt;br /&gt;
     DATA_PATH=&amp;quot;path/to/your/data.jsonl&amp;quot;&lt;br /&gt;
     OUTPUT_PATH=&amp;quot;path/to/output_model&amp;quot;&lt;br /&gt;
     MODEL=&amp;quot;deepseek-ai/deepseek-coder-1.3b-instruct&amp;quot;&lt;br /&gt;
&lt;br /&gt;
     cd finetune&lt;br /&gt;
     deepspeed finetune_deepseekcoder.py \&lt;br /&gt;
         --model_name_or_path $MODEL \&lt;br /&gt;
         --data_path $DATA_PATH \&lt;br /&gt;
         --output_dir $OUTPUT_PATH \&lt;br /&gt;
         --num_train_epochs 3 \&lt;br /&gt;
         --model_max_length 1024 \&lt;br /&gt;
         --per_device_train_batch_size 8 \&lt;br /&gt;
         --gradient_accumulation_steps 4 \&lt;br /&gt;
         --evaluation_strategy &amp;quot;no&amp;quot; \&lt;br /&gt;
         --save_strategy &amp;quot;steps&amp;quot; \&lt;br /&gt;
         --save_steps 100 \&lt;br /&gt;
         --learning_rate 2e-5 \&lt;br /&gt;
         --warmup_steps 10 \&lt;br /&gt;
         --logging_steps 1 \&lt;br /&gt;
         --lr_scheduler_type &amp;quot;cosine&amp;quot; \&lt;br /&gt;
         --gradient_checkpointing True \&lt;br /&gt;
         --report_to &amp;quot;tensorboard&amp;quot; \&lt;br /&gt;
         --deepspeed configs/ds_config_zero3.json \&lt;br /&gt;
         --bf16 True&lt;br /&gt;
     ```&lt;br /&gt;
     - **Penjelasan hyperparams**:&lt;br /&gt;
       - `num_train_epochs`: Jumlah epoch (mulai dari 1-3 untuk dataset kecil).&lt;br /&gt;
       - `per_device_train_batch_size`: Sesuaikan dengan VRAM (kurangi jika OOM).&lt;br /&gt;
       - `model_max_length`: Panjang maksimal sequence (1024 aman untuk coder).&lt;br /&gt;
     - Output: Folder `$OUTPUT_PATH` berisi model HF yang sudah di-fine-tune (checkpoint terakhir di `checkpoint-final`).&lt;br /&gt;
   - Tips: Jika dataset besar, gunakan LoRA/PEFT untuk efisiensi (bisa ditambahkan via `--use_lora`). Sumber script dan command: Repo resmi DeepSeek-Coder.&lt;br /&gt;
&lt;br /&gt;
#### 4. **Konversi Model HF ke GGUF**&lt;br /&gt;
   - Pindah ke folder `llama.cpp`.&lt;br /&gt;
   - Convert model fine-tuned ke GGUF (f16 dulu, lalu quantize jika perlu):&lt;br /&gt;
     ```&lt;br /&gt;
     python convert_hf_to_gguf.py $OUTPUT_PATH/checkpoint-final --outfile deepseek-finetuned.gguf --outtype f16&lt;br /&gt;
     ```&lt;br /&gt;
     - Ini menghasilkan file `deepseek-finetuned.gguf`.&lt;br /&gt;
   - Quantize untuk ukuran lebih kecil (misal Q4_K_M untuk keseimbangan kualitas/ukuran):&lt;br /&gt;
     ```&lt;br /&gt;
     ./llama-quantize deepseek-finetuned.gguf deepseek-finetuned-q4.gguf Q4_K_M&lt;br /&gt;
     ```&lt;br /&gt;
   - Sumber: Converter dari llama.cpp.&lt;br /&gt;
&lt;br /&gt;
#### 5. **Import ke Ollama**&lt;br /&gt;
   - Buat file `Modelfile` di folder yang sama dengan GGUF:&lt;br /&gt;
     ```&lt;br /&gt;
     FROM ./deepseek-finetuned-q4.gguf&lt;br /&gt;
     TEMPLATE &amp;quot;&amp;quot;&amp;quot;{{ if .System }}&amp;lt;|im_start|&amp;gt;system&lt;br /&gt;
     {{ .System }}&amp;lt;|im_end|&amp;gt;&lt;br /&gt;
     {{ end }}{{ if .Prompt }}&amp;lt;|im_start|&amp;gt;user&lt;br /&gt;
     {{ .Prompt }}&amp;lt;|im_end|&amp;gt;&lt;br /&gt;
     {{ end }}&amp;lt;|im_start|&amp;gt;assistant&lt;br /&gt;
     &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
     PARAMETER stop &amp;quot;&amp;lt;|im_end|&amp;gt;&amp;quot;&lt;br /&gt;
     PARAMETER stop &amp;quot;&amp;lt;|im_start|&amp;gt;&amp;quot;&lt;br /&gt;
     SYSTEM &amp;quot;You are a helpful coding assistant fine-tuned on custom data.&amp;quot;&lt;br /&gt;
     ```&lt;br /&gt;
     - Template ini disesuaikan untuk format chat DeepSeek (dengan `&amp;lt;|im_start|&amp;gt;` dll.).&lt;br /&gt;
   - Buat model di Ollama:&lt;br /&gt;
     ```&lt;br /&gt;
     ollama create deepseek-custom -f Modelfile&lt;br /&gt;
     ```&lt;br /&gt;
   - Jalankan:&lt;br /&gt;
     ```&lt;br /&gt;
     ollama run deepseek-custom&lt;br /&gt;
     ```&lt;br /&gt;
   - Sekarang model siap digunakan! Tes dengan prompt seperti &amp;quot;Write a Python function...&amp;quot;.&lt;br /&gt;
   - Sumber: Panduan Ollama untuk custom GGUF.&lt;br /&gt;
&lt;br /&gt;
#### Catatan Tambahan&lt;br /&gt;
- **Waktu &amp;amp; Hardware**: Fine-tuning 1.3B dengan 1k sampel JSONL butuh ~1-2 jam di RTX 3060. Gunakan Colab jika lokal lemah.&lt;br /&gt;
- **Troubleshooting**: Jika error OOM, kurangi batch size atau gunakan QLoRA. Untuk dataset lebih kompleks, lihat tutorial LLaMA-Factory untuk UI no-code.&lt;br /&gt;
- **Alternatif Mudah**: Jika ingin tanpa script custom, gunakan Hugging Face `trl` + `peft` untuk SFTTrainer dengan dataset JSONL (load via `load_dataset(&amp;#039;json&amp;#039;, data_files=&amp;#039;data.jsonl&amp;#039;)`).&lt;br /&gt;
- Jika model bukan 1.3B, konfirmasi nama tepat di Hugging Face atau Ollama library.&lt;br /&gt;
&lt;br /&gt;
Jika butuh bantuan lebih detail (misal error log), beri tahu!&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>