- Pada April 2024, Jina AI meluncurkan Jina Reader, sebuah API yang mengonversi URL halaman web menjadi Markdown yang ramah untuk LLM
- Jina Reader mengambil source halaman web melalui browser Chrome, mengekstrak konten utama dengan paket Readability, lalu mengubah HTML yang telah dibersihkan menjadi Markdown menggunakan regex dan pustaka Turndown
- Namun, masih ada ruang perbaikan, seperti filter Readability yang terkadang menghapus konten yang salah atau Turndown yang kesulitan mengubah HTML tertentu menjadi Markdown
- Karena itu, Jina AI mulai memikirkan cara untuk mengonversi HTML ke Markdown secara end-to-end menggunakan small language model (SLM)
Fitur Reader-LM
- Tugas mengonversi HTML ke Markdown tidak se-kreatif atau se-kompleks tugas umum LLM, dan pada dasarnya terutama membutuhkan selective-copy dari input ke output
- Karena itu, arsitektur model yang dangkal dengan transformer block yang lebih sedikit menjadi memungkinkan
- Namun, HTML dunia nyata memiliki banyak noise dan panjang token yang besar, sehingga diperlukan dukungan long-context hingga 256K token
- Untuk itu, Jina AI memperkenalkan SLM "shallow-but-wide", yaitu reader-lm-0.5b dan reader-lm-1.5b. Keduanya memiliki 494M dan 1.54B parameter
Cara menggunakan Reader-LM
- Reader-lm dapat dicoba di Google Colab. Tersedia notebook yang menunjukkan proses mengonversi situs Hacker News menjadi Markdown
- Untuk lingkungan komersial, disarankan menggunakan GPU berperforma tinggi. Kelas RTX 3090/4090 lebih cocok dibanding T4
- Reader-LM juga akan segera tersedia di Azure Marketplace dan AWS SageMaker
- Lisensi komersialnya adalah CC BY-NC 4.0, dan untuk penggunaan komersial diminta menghubungi Jina AI
Hasil benchmark Reader-LM
- Evaluasi perbandingan dilakukan dengan berbagai LLM seperti GPT-4o, Gemini, dan LLaMA
- Metrik yang digunakan mencakup ROUGE-L, Token Error Rate (TER), dan Word Error Rate (WER)
- reader-lm-1.5b menunjukkan performa terbaik dengan ROUGE-L 0.72 dan WER 1.87
- Saat output Markdown nyata diperiksa secara visual, reader-lm-1.5b unggul dalam semua aspek seperti ekstraksi header, ekstraksi konten utama, pelestarian struktur, dan penggunaan sintaks Markdown
Proses pelatihan Reader-LM
- Jina Reader API digunakan untuk membuat pasangan HTML dan Markdown yang kemudian dipakai sebagai data pelatihan. Sebagian HTML sintetis juga ditambahkan
- Berbagai ukuran model dari 65M hingga 3B parameter diuji
- Pelatihan dilakukan dalam 2 tahap. Pada tahap pertama, HTML yang pendek dan sederhana dilatih dengan urutan token 32K, lalu pada tahap kedua diperluas hingga 128K token
- Untuk mengatasi masalah degeneration yang terjebak dalam pengulangan dan loop, diterapkan contrastive search serta kriteria penghentian pengulangan
- Untuk mengatasi masalah OOM, diimplementasikan chunk-wise model forwarding dan penyempurnaan implementasi data packing
- Mereka juga mencoba menyelesaikan masalah ini dengan model encoder-only, tetapi ada kesulitan jika diperlakukan sebagai tugas klasifikasi token
Kesimpulan
- Reader-LM adalah SLM baru yang dirancang untuk ekstraksi dan pembersihan data web
- Tugas mengonversi HTML ke Markdown ternyata tidak semudah yang dibayangkan. Karena memerlukan penalaran yang peka terhadap posisi dan berbasis konteks, ukuran parameter yang besar tetap dibutuhkan
- Melatih SLM dari nol adalah pekerjaan yang sangat sulit. Memulai dari model yang telah dipra-latih jauh lebih efisien
- Ke depan, masih banyak ruang perbaikan seperti perluasan panjang konteks, peningkatan kecepatan decoding, dan dukungan instruksi pada input
2 komentar
Saya ingin membuat sesuatu seperti ini.
Jina AI Reader - Alat yang mengubah URL menjadi input yang ramah untuk LLM
Saya sering memakai ini, dan rasanya akan bagus kalau dibuat lebih kecil lalu ditanamkan ke browser, haha