Temperature (LLM) (ID)

From Systems analysis Wiki
Jump to navigation Jump to search

Temperatur (Ingg. Temperature) dalam konteks large language model (LLM) adalah hyperparameter yang mengontrol tingkat keacakan dan "kreativitas" dalam proses generasi teks. Parameter ini mengatur "ketajaman" atau sebaliknya "kehalusan" distribusi probabilitas token berikutnya pada setiap langkah decoding. Dengan memanipulasi temperatur, kita dapat mengelola keseimbangan antara prediktabilitas (koherensi) dan keberagaman (kreativitas) teks yang dihasilkan.

Penjelasan Sederhana

Temperatur adalah parameter yang menentukan seberapa hati-hati atau sebaliknya seberapa bebas model memilih kata berikutnya. Sebuah large language model hampir tidak pernah hanya memiliki satu kemungkinan kelanjutan: biasanya pada setiap langkah terdapat beberapa pilihan yang sesuai, dan masing-masing memiliki probabilitasnya sendiri. Temperatur tidak mempengaruhi pengetahuan model itu sendiri atau "apa yang diketahuinya", melainkan mempengaruhi bagaimana tepatnya model memilih di antara pilihan-pilihan tersebut saat generasi.

Pada temperatur rendah, model berperilaku lebih konservatif. Model lebih "mempercayai" kata-kata yang paling probable dan lebih jarang menyimpang dari kelanjutan yang paling diharapkan. Akibatnya, teks yang dihasilkan biasanya lebih rata, lebih mudah diprediksi, lebih tepat secara formal, dan lebih konsisten. Mode ini berguna dalam situasi di mana ketelitian formulasi, stabilitas jawaban, keterproduksian hasil, dan minimalisasi variasi yang tidak perlu menjadi prioritas. Namun pendekatan ini juga memiliki sisi negatif: teks bisa menjadi terlalu formulaik, kering, monoton, dan terkadang terlalu "berhati-hati". Pada temperatur yang terlalu rendah, model bahkan bisa mulai mengulang konstruksi yang sama tanpa henti (jatuh ke dalam loop), "tersangkut" pada kelanjutan yang paling probable namun tidak selalu tepat.

Pada temperatur tinggi, model berperilaku lebih berani. Model lebih sering memungkinkan pemilihan tidak hanya kata-kata yang paling probable, tetapi juga kata-kata yang kurang jelas. Hasilnya, respons menjadi lebih beragam, lebih hidup, lebih tidak konvensional, dan terkadang lebih orisinal. Ini bisa berguna dalam tugas-tugas kreatif, brainstorming, generasi ide, teks sastra, atau pencarian beberapa formulasi yang berbeda. Namun seiring meningkatnya keberagaman, risikonya pun meningkat: teks bisa menjadi kurang koheren, kurang akurat, dan dalam kasus ekstrem — aneh, tidak logis, atau acak.

Intuisi yang berguna adalah bahwa temperatur bukanlah pengatur pengetahuan, melainkan pengatur risiko dalam pemilihan kata. Temperatur rendah membuat model hampir selalu memilih pilihan yang "paling aman". Temperatur tinggi memungkinkan model lebih sering "mengambil risiko" dan mencoba kelanjutan yang kurang jelas.

Gambaran lain yang berguna: temperatur dapat dibandingkan dengan bagaimana seseorang menjawab pertanyaan. Jika dibutuhkan jawaban yang resmi, tepat, dan cermat, orang tersebut biasanya memilih formulasi yang paling netral dan diharapkan — ini mirip dengan temperatur rendah. Jika tugasnya adalah memikirkan ide yang tidak biasa, metafora, alur cerita, atau beberapa pilihan yang tidak konvensional, formulasi menjadi lebih bebas dan berani — ini mirip dengan temperatur tinggi.

Dengan demikian, temperatur bertanggung jawab atas keseimbangan antara dua sifat generasi:

  • prediktabilitas dan stabilitas jawaban;
  • keberagaman dan ketidaktertugaan formulasi.

Semakin rendah temperatur, semakin dekat model ke kelanjutan yang paling probable dan standar. Semakin tinggi temperatur, semakin besar ruang untuk variabilitas, namun semakin lemah kendali atas keketatan dan koherensi hasil.

Definisi Teoritis

Secara matematis, temperatur (T) diperkenalkan sebagai pembagi dalam fungsi softmax, yang mengubah logit output model (ui) menjadi distribusi probabilitas (Pi). Rumusnya adalah sebagai berikut:

Pi(T)=eui/Tjeuj/T

Di mana:

  • Pi(T) — probabilitas akhir token ke-i pada temperatur T.
  • ui — logit (skor yang tidak dinormalisasi) untuk token ke-i, yang dikeluarkan oleh model.
  • T — parameter temperatur (bilangan positif). Misalnya, dalam API OpenAI untuk sebagian besar model, rentang yang diizinkan adalah 0 hingga 2.0, di mana 0 adalah kasus khusus greedy decoding (lihat di bawah). Dalam library lain (Hugging Face Transformers, llama.cpp) temperatur dapat mengambil nilai positif apa pun.

Penting: temperatur hanya mempengaruhi output dalam mode dengan sampling. Dalam mode tanpa sampling (greedy decoding, beam search klasik), parameter temperatur tidak memberikan efek. Misalnya, di Hugging Face Transformers untuk mengaktifkan temperatur perlu mengaktifkan do_sample=True.

Pengaruh Nilai Temperatur

  • T=1 (nilai standar): Distribusi probabilitas tidak berubah. Ini adalah softmax standar yang mencerminkan prediksi asli model.
  • T<1 (temperatur rendah, misalnya, 0.20.7): Distribusi menjadi lebih tajam atau berpuncak. Probabilitas token yang paling probable meningkat, sementara probabilitas token yang kurang probable menurun. Ini membuat generasi lebih deterministik dan dapat diprediksi. Model lebih sering memilih kata-kata yang jelas dan berfrekuensi tinggi, yang meningkatkan koherensi dan kebenaran gramatikal teks, namun mengurangi keberagamannya.
  • T>1 (temperatur tinggi, misalnya, 1.11.5): Distribusi menjadi lebih halus atau merata. Perbedaan antar probabilitas token mengecil, yang meningkatkan peluang dipilihnya token yang kurang probable (dan lebih "tidak terduga"). Ini membuat teks lebih kreatif, beragam, dan tidak dapat diprediksi, namun meningkatkan risiko generasi frasa yang tidak koheren atau tidak benar secara gramatikal.

Kasus Batas

  • T0: Pada batas, ketika temperatur mendekati nol, fungsi softmax berubah menjadi argmax. Model akan selalu memilih token dengan logit tertinggi. Mode ini setara dengan greedy decoding dan sepenuhnya deterministik. Mode ini sering menghasilkan teks yang berulang dan formulaik. Catatan: nilai T=0 tidak dapat langsung dimasukkan ke dalam rumus (pembagian dengan nol); dalam banyak implementasi, nilai ini ditangani sebagai mode khusus pemilihan paling konservatif, mendekati greedy decoding. Namun tidak semua hosted API menjamin determinisme penuh pada T=0 — misalnya, dalam Anthropic API bahkan pada temperatur nol pun hasil dapat sedikit bervariasi.
  • T: Ketika temperatur mendekati tak terhingga, distribusi probabilitas menjadi seragam. Semua token dalam kosakata menjadi sama-sama probable, dan model menghasilkan "arus kesadaran" acak, kehilangan koherensi sepenuhnya. Dalam praktik, ketidakterhinggan tidak diperlukan: bahkan pada T>2.0 distribusi sudah hampir seragam, dan teks berubah menjadi kumpulan token yang tidak koheren.

Penerapan Praktis dan Rekomendasi

Pemilihan temperatur yang tepat sangat penting dan bergantung pada tugas spesifik. Rentang yang tercantum di bawah ini adalah heuristik kasar — nilai optimal dapat sangat bervariasi tergantung pada model, domain, dan tugas tertentu.

  • Untuk tugas kreatif (menulis cerita, puisi, slogan pemasaran):
    • Disarankan temperatur yang lebih tinggi (T0.71.2).
    • Ini mendorong model untuk menghasilkan ide yang lebih tidak terduga dan kreatif, menggunakan kosakata yang beragam, dan menghindari frasa formulaik.
  • Untuk tugas yang membutuhkan akurasi dan faktualitas (menjawab pertanyaan, merangkum, generasi kode):
    • Disarankan temperatur rendah (T0.00.4).
    • Ini mengurangi variabilitas dan meningkatkan reproduktibilitas hasil, memaksa model untuk mengikuti kelanjutan teks yang paling probable. Pada T=0 generasi menjadi deterministik (dengan seed tetap dan tidak adanya sumber keacakan lainnya), yang berguna untuk pengujian dan debugging, namun dapat menyembunyikan masalah yang hanya muncul saat sampling. Namun temperatur rendah sendiri tidak menjamin akurasi faktual — jika model tidak memiliki pengetahuan yang dibutuhkan, ia bisa dengan percaya diri menghasilkan jawaban yang salah. Untuk memaksimalkan faktualitas, disarankan menggabungkan temperatur rendah dengan metode pencarian berbasis knowledge base (RAG) dan prompting yang ditingkatkan. Dalam dokumentasi OpenAI untuk tugas ekstraksi data dan jawaban faktual, direkomendasikan T=0.
  • Untuk tugas reasoning, matematika, dan generasi kode:
    • Secara umum digunakan temperatur yang lebih rendah, namun nilai optimal sangat bergantung pada model dan tugas tertentu.
    • Catatan: dalam beberapa reasoning model (misalnya, keluarga OpenAI o1/o3), parameter sampling dapat dibatasi atau dikunci pada sisi penyedia layanan. Chain-of-thought internal membutuhkan distribusi yang stabil, sehingga penyedia dapat sepenuhnya memblokir perubahan temperatur atau menerima nilai pengguna hanya dalam rentang yang sempit.
  • Untuk sistem dialog dan chatbot:
    • Disarankan temperatur moderat (T0.50.8).
    • Ini memungkinkan tercapainya keseimbangan: respons tetap koheren dan relevan, namun tidak menjadi terlalu kering dan monoton.

Catatan: dalam dokumentasi OpenAI API disarankan untuk mengubah salah satu dari temperature atau top_p, namun tidak keduanya secara bersamaan — jika tidak, perilaku menjadi sulit diprediksi. Dalam contoh referensi OpenAI API, nilai default yang biasanya muncul adalah T=1.0.

Perbandingan dengan Top-k dan Top-p

Temperatur, tidak seperti metode pemotongan seperti Top-k dan Top-p (nucleus sampling), bekerja secara berbeda:

  • Temperatur mendistribusikan ulang probabilitas di antara semua token dalam kosakata, namun tidak memotong satupun dari mereka. Bahkan pada temperatur yang sangat rendah sekalipun, token yang kurang probable masih memiliki peluang yang sangat kecil namun tidak nol untuk dipilih.
  • Top-k dan Top-p menerapkan pemotongan keras, sepenuhnya mengecualikan token yang tidak masuk dalam inti sampling. Pemotongan semacam itu mengurangi risiko pemilihan token ekor, namun itu sendiri merupakan heuristik kasar dan dapat membuang kelanjutan yang masuk akal dengan probabilitas "sebenarnya" yang tidak nol.

Dalam praktik, parameter-parameter ini sering digunakan bersamaan. Misalnya, seseorang dapat menetapkan temperatur moderat (misalnya, T=0.8) untuk gaya umum dan menambahkan Top-p (misalnya, p=0.9) untuk memotong "ekor" distribusi dan mengurangi risiko kesalahan kasar. Pada temperatur yang sangat rendah (T0), Top-p pada dasarnya kehilangan maknanya, karena distribusi sudah memiliki hanya satu puncak yang signifikan.

Interaksi Temperatur dengan Parameter Decoding Lainnya

Temperatur hampir tidak pernah digunakan secara terpisah. Dalam praktik, temperatur dikombinasikan dengan hyperparameter lain untuk menyetel halus keseimbangan antara "kreativitas ↔ keandalan".

Urutan Penerapan Parameter yang Umum

Dalam implementasi sampling yang umum (khususnya Hugging Face Transformers), parameter biasanya diterapkan dalam urutan berikut:

  1. Model menghasilkan logit mentah (ui).
  2. Diterapkan penalti pengulangan (repetition / frequency / presence penalty) — modifikasi logit berdasarkan token yang sudah dihasilkan.
  3. Temperatur menskalakan logit: ui/T.
  4. Diterapkan softmax → diperoleh distribusi probabilitas baru.
  5. Pemotongan (truncation): pertama Top-k (jika ditentukan), kemudian Top-p atau Min-p.
  6. Dari "inti" yang tersisa dilakukan pengambilan sampel acak (sampling).

Dalam skema umum ini, temperatur mengubah bentuk distribusi setelah penerapan penalti pengulangan, namun sebelum softmax dan penyaringan. Oleh karena itu, top_p=0.9 yang sama pada T=0.2 dan pada T=1.5 menghasilkan ukuran "inti" yang sangat berbeda. Penalti dan temperatur berinteraksi secara nonlinier — ini penting untuk dipertimbangkan saat menyetel parameter. Urutan penerapan internal dalam hosted API (OpenAI, Anthropic) tidak didokumentasikan secara publik pada tingkat detail tersebut.

Top-p (nucleus sampling) dan Min-p

Min-p (minimum probability sampling) adalah metode pemotongan yang relatif baru yang menetapkan ambang batas probabilitas minimum relatif terhadap token yang paling probable (biasanya 0.05–0.1). Tidak seperti Top-p, metode ini memotong token berdasarkan ambang relatif (terkait dengan probabilitas token terbaik, bukan massa kumulatif tetap), yang sangat efektif pada temperatur tinggi (>0.8): mencegah pemilihan token yang sama sekali tidak sesuai tanpa kehilangan keberagaman yang signifikan. Min-p didukung oleh sejumlah inference stack open-source yang populer, termasuk vLLM dan llama.cpp.

Repetition / Frequency / Presence Penalty

Frequency_penalty dan presence_penalty (OpenAI API) mengurangi probabilitas pengulangan token yang sudah pernah muncul. Keduanya dapat mengkompensasi salah satu kekurangan temperatur rendah — kecenderungan terhadap formulaik dan perulangan.

Typical Sampling dan Mirostat

Typical sampling (Meister et al., 2023) memilih token yang probabilitasnya mendekati entropi "yang diharapkan" dari konteks. Mirostat (v2) secara dinamis menyesuaikan parameter pemotongan agar target perplexity tetap konstan — ini berguna untuk teks panjang di mana stabilitas gaya sangat penting.

Contoh Ilustratif Pengaturan

Berikut adalah konfigurasi perkiraan untuk berbagai jenis tugas. Nilai-nilai ini bukan rekomendasi umum — parameter optimal bergantung pada model, tugas, dan inference stack tertentu.

Tugas Temperatur Kombinasi yang Mungkin Logika
Factual Q&A, perangkuman 0.0–0.3 T + top_p=0.9 Minimalisasi variabilitas acak
Generasi kode, matematika 0.1–0.4 T + repetition_penalty Stabilitas + menghindari perulangan
Dialog / chatbot 0.6–0.85 T + top_p=0.92 atau min_p=0.1 Keseimbangan alami dan koherensi
Kreatif (cerita, pemasaran) 0.75–1.1 T + min_p=0.07–0.1 Keberagaman dengan penyaringan ekor
Long-form / agen 0.5–0.8 Mirostat atau T + frequency_penalty Kendali panjang dan koherensi

Saran umum: sebaiknya tidak mengubah temperature dan top_p secara bersamaan secara signifikan. Biasanya lebih mudah untuk mengunci salah satu parameter truncation dan mengelola kreativitas melalui temperatur — ini membuat perilaku model lebih dapat diprediksi.

Keunikan model aligned modern: pada model yang sangat diselaraskan (yang telah menjalani RLHF / Constitutional AI / RLAIF), efek temperatur tinggi dilemahkan dibandingkan dengan model dasar — model lebih jarang menghasilkan teks yang tidak koheren bahkan pada T=1.2. Nilai optimal spesifik dapat berubah dengan munculnya generasi model baru; rekomendasi di atas relevan per tahun 2025–2026.

Referensi

  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Caccia, M. et al. (2018). Language GANs Falling Short. arXiv:1811.02549.
  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Hewitt, J.; Manning, C.; Liang, P. (2022). Truncation Sampling as Language Model Desmoothing. arXiv:2210.15191.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • O'Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2023). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
  • Shi, C. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Ravfogel, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
  • Basu, S. et al. (2021). Mirostat: A Perplexity-Controlled Neural Text Decoding Algorithm. arXiv:2007.14966.
  • Nguyen, M. N. et al. (2025). Turning Up the Heat: Min-p Sampling for Diverse and High-Quality Text Generation. arXiv:2407.01082.
  • Renze, M.; Guven, E. (2024). The Effect of Sampling Temperature on Problem Solving in Large Language Models. arXiv:2402.05201.
  • Zhang, S. et al. (2024). EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling. arXiv:2403.14541.
  • Li, L. et al. (2025). Exploring the Impact of Temperature on Large Language Models: Hot or Cold?. arXiv:2506.07295.

Lihat Juga

  • Large language model