7 poin oleh GN⁺ 2024-11-02 | 3 komentar | Bagikan ke WhatsApp
  • Machine learning (ML) memiliki potensi untuk memajukan state of the art dalam penulisan dokumentasi teknis
  • Bukan model pembangkit teks seperti Claude, Gemini, LLaMa, dan GPT, melainkan embedding yang mungkin memberi dampak terbesar pada penulisan dokumentasi teknis
  • Embedding memang bukan hal yang benar-benar baru, tetapi dalam beberapa tahun terakhir menjadi jauh lebih mudah diakses secara luas
  • Embedding memberi penulis teknis kemampuan untuk menemukan keterkaitan antarteks pada skala yang sebelumnya mustahil

Membangun intuisi tentang embedding

Input dan output

  • Hal yang dimasukkan untuk membuat embedding adalah teks
  • Tidak perlu selalu memberikan jumlah teks yang sama setiap kali
    • Terkadang inputnya satu paragraf, di lain waktu bisa beberapa bagian, satu dokumen penuh, atau beberapa dokumen
  • Outputnya adalah array angka
    • Jika memasukkan satu kata, outputnya berupa array angka seperti [-0.02387, -0.0353, 0.0456]
    • Jika memasukkan seluruh kumpulan dokumen, outputnya berbentuk seperti [0.0451, -0.0154, 0.0020]
  • Terlepas dari ukuran input, Anda selalu mendapatkan jumlah angka yang sama
    • Ini memberi kita cara untuk membandingkan dua teks apa pun secara matematis satu sama lain
  • Dalam embedding nyata, array tersebut berisi ratusan atau ribuan angka, bukan hanya 3

Cara membuat embedding

  • Penyedia layanan besar memudahkan pembuatan embedding
  • Model Gemini text-embedding-004 mengembalikan array berisi 768 angka, dan model Voyage AI voyage-3 mengembalikan array berisi 1024 angka
  • Embedding dari penyedia yang berbeda tidak kompatibel satu sama lain

Apakah mahal?

Tidak.

Apakah buruk bagi lingkungan?

  • Pembuatan embedding tidak seintensif komputasi seperti pembuatan teks
  • Namun, model embedding tampaknya dilatih dengan cara yang mirip dengan model pembangkit teks, yang berarti ada penggunaan energi
  • Bagian ini akan diperbarui jika ada informasi lebih lanjut

Model mana yang terbaik?

  • Idealnya, model embedding harus mampu menerima teks input dalam jumlah besar agar bisa membuat embedding untuk halaman penuh
  • Per Oktober 2024, voyage-3 tampak paling unggul dari sisi ukuran input
  • Batas input berbasis token, dan tiap layanan menghitung token dengan cara berbeda, jadi jangan terlalu terpaku pada angka pastinya

Ruang multidimensi yang sangat aneh

  • Apa arti angka-angka embedding itu?
  • Coba pikirkan koordinat di peta
    • Embedding mirip dengan titik di peta
    • Tiap angka dalam array embedding mirip dengan dimensi seperti koordinat X dan Y
    • Jika model embedding mengembalikan array berisi 1000 angka, itu memberi tahu titik tempat teks tersebut berada dalam ruang 1000 dimensi, relatif secara semantik terhadap semua teks lain
    • Saat membandingkan jarak antara dua embedding, yang sebenarnya kita lakukan adalah menentukan seberapa dekat atau jauhnya dua teks secara semantik
  • Konsep menempatkan item dalam ruang multidimensi seperti ini, tempat item yang terkait saling berkelompok dekat satu sama lain, disebut latent space
  • Contoh terkenal dari makalah Word2vec:
    • embedding("king") - embedding("man") + embedding("woman") ≈ embedding("queen")
    • Embedding dapat merepresentasikan hubungan semantik dengan cara yang terasa intuitif bagi manusia
  • Karena embedding bekerja dalam ratusan atau ribuan dimensi, mustahil bagi makhluk 3 dimensi untuk memvisualisasikan seperti apa "jarak" dalam 1000 dimensi
  • Kita tidak tahu apa yang direpresentasikan tiap dimensi

Membandingkan embedding

  • Setelah membuat embedding, Anda memerlukan semacam "database" untuk melacak embedding mana yang terhubung dengan teks apa
  • Banyak aljabar linear terlibat, dan library matematika serta ML seperti NumPy dan scikit-learn dapat menangani pekerjaan beratnya

Aplikasi

  • Mari lihat secara langsung bagaimana embedding dapat memajukan state of the art dalam penulisan dokumentasi teknis

Biarkan ribuan embedding berkembang

  • Sebagai pemilik situs dokumentasi, muncul pertanyaan apakah embedding untuk konten sebaiknya disediakan secara bebas bagi siapa saja yang menginginkannya melalui REST API atau well-known URI
  • Kita tidak tahu hal keren apa yang bisa dibangun komunitas dengan jenis data dokumentasi tambahan ini

Penutup

  • Jika tiga tahun lalu ada yang bertanya apa itu ruang 768 dimensi, saya mungkin akan mengatakan bahwa itu hanyalah konsep abstrak yang dibutuhkan fisikawan dan matematikawan untuk alasan yang tak bisa dipahami
  • Embedding memberi alasan untuk memikirkan ide ini lebih dalam dan benar-benar menerapkannya pada pekerjaan sendiri
  • Peningkatan skala terhadap kemampuan pemeliharaan dokumentasi mungkin masih sangat mungkin dicapai, dan mungkin membutuhkan dimensi dengan orde yang lebih tinggi!

Lampiran

Implementasi

Hasil

  • Cara membaca data:
    • Target adalah halaman yang sedang dilihat
    • Neighbor adalah halaman yang akan direkomendasikan
  • Dari tabel hasil, terlihat bahwa halaman-halaman terkait saling merekomendasikan satu sama lain

Pendapat GN⁺

  • Teknologi embedding tampaknya akan sangat membantu dalam bidang penulisan dokumentasi teknis untuk memahami keterkaitan antar konten dan menemukan hubungan antar dokumen. Ini akan особенно berguna dalam proyek dokumentasi berskala besar yang harus menangani dokumen dalam jumlah sangat banyak
  • Namun, model embedding masih cenderung memiliki konsumsi energi yang tinggi, dan juga ada kekhawatiran etis, sehingga tampaknya perlu peninjauan yang cermat saat mengadopsinya. Selain memastikan ketersediaan sumber daya komputasi yang memadai, perlu juga ada upaya untuk meminimalkan dampak lingkungan dari pembuatan embedding
  • Menyediakan embedding dari situs dokumentasi melalui API bisa menjadi pendekatan yang baik untuk mendorong pemanfaatan kreatif oleh komunitas developer. Namun, langkah-langkah terkait keamanan data dan isu privasi perlu dipersiapkan terlebih dahulu
  • Startup atau inisiatif di bidang dokumentasi teknis layak mempertimbangkan adopsi aktif teknologi embedding. Ini dapat menghadirkan fitur yang lebih terdiferensiasi dibanding solusi pengelolaan dokumentasi yang sudah ada, serta memberikan pengalaman yang lebih ramah manusia dalam pencarian, rekomendasi, dan sebagainya
  • Riset tentang pemanfaatan embedding untuk peringkasan dokumen, penerjemahan, klasifikasi topik, dan sebagainya juga patut dinantikan. Jika digabungkan dengan teknologi pemrosesan bahasa alami terbaru, embedding dapat membawa inovasi pada penulisan dan pengelolaan dokumentasi teknis

3 komentar

 
yangeok 2024-11-08

Penulis teknis haha

 
cosine20 2024-11-04

Saat melihat embedding teks yang digunakan di bidang pemrosesan bahasa alami beserta proses pelatihannya, saya merasa proses itu benar-benar mirip dengan cara manusia memperoleh dan menggunakan bahasa ketika hampir tidak memahami tata bahasa.
Saya pikir, seperti yang dikatakan di artikel, teknologi ini punya banyak potensi.

 
GN⁺ 2024-11-02
Opini Hacker News
  • Menarik bahwa dalam AI modern, embedding adalah satu-satunya elemen yang memberi manusia lebih banyak kekuatan. Ini seperti "sepeda untuk pikiran kita" yang dikatakan Steve Jobs, dan berarti amplifikasi kecerdasan. Kemajuan terbesar dalam kegunaan komputer adalah diperkenalkannya pencarian lokal yang cepat dan universal. Saya sering menggunakan fitur "Cari di halaman" di Firefox, dan menggunakan pencarian serta grep setiap hari. Embedding berpotensi mengatasi kelemahan terbesar pencarian dengan menyediakan pencarian fuzzy yang benar-benar berguna

  • Sebagai pemilik situs dokumentasi, saya bertanya-tanya apakah perlu mempertimbangkan untuk menyediakan embedding secara bebas melalui REST API atau URI yang sudah dikenal. Perlu dijelaskan dengan jelas model embedding apa yang digunakan, dan ada pertanyaan apakah ada model embedding yang cocok untuk dokumentasi teknis

  • Ada kekhawatiran terhadap lingkungan, tetapi saya pikir pendapat publik bahwa mengurangi penggunaan AI bisa menyelesaikan masalah iklim adalah keliru. Misalnya, jika Google Maps dilarang, orang akan memilih rute yang salah dan menghabiskan lebih banyak bahan bakar. Pembuatan dokumen dengan embedding juga demikian; menggunakan sumber daya komputasi justru lebih efisien

  • Berbagi pengalaman menarik tentang cara memanfaatkan embedding di aplikasi web. Dijelaskan melalui dokumentasi bagaimana menggunakan embedding di produksi

  • Embedding tampak tidak punya tujuan spesifik karena merepresentasikan segala sesuatu dari string input. Ada pertanyaan tentang cara mengurangi dimensi embedding untuk aplikasi tertentu. Misalnya, saat membangun sistem untuk mencari percakapan dukungan teknis, ada rasa ingin tahu tentang cara menurunkan embedding yang hanya merepresentasikan isi percakapan tersebut

  • Vector embedding adalah ringkasan unik dari sebuah dokumen, mirip dengan hash code. Akan bagus jika ada standar universal untuk pembuatan embedding, tetapi karena berbeda untuk tiap model AI, ia tidak bisa memiliki "keabadian" seperti hash code. Tampaknya ada banyak cara untuk memanfaatkan algoritme seperti kemiripan kosinus dalam database dan aplikasi pemrosesan informasi

  • Saya pikir embedding sedang diremehkan. Bidang pencarian/penemuan informasi masih menggunakan penemuan berbasis kata kunci dan belum menerima penemuan berbasis semantik sebagai alat modern. Saya menghemat waktu dengan mengubah kalimat menjadi vector embedding, menerapkan klasterisasi k-means, lalu merangkumnya dengan ChatGPT

  • Diusulkan bahwa para penulis teknis meremehkan kegunaan embedding. Praktisi machine learning tidak meremehkan embedding

  • Ada pertanyaan apakah model embedding OpenAI mendukung 8191/8192 token. Menentukan pemenang hanya dari ukuran token itu menyesatkan, dan ada faktor yang lebih penting seperti dukungan lintas bahasa dan presisi

  • Saya pikir embedding justru dilebih-lebihkan, karena ini bukan solusi serba bisa yang diharapkan banyak orang. Embedding tidak sepenuhnya menggantikan metode sederhana seperti BM25, dan hanya memberi pemahaman semantik yang terbatas. Ekspektasi yang tinggi membuat orang percaya embedding akan mengambil tepat apa yang mereka inginkan, tetapi tanpa meninjau hasil dengan cermat, sulit menyadari adanya ketidaksesuaian