Seiring terus berkembangnya ekosistem AI, makin banyak cara untuk mendefinisikan model machine learning, dan makin banyak pula cara untuk menyimpan bobot model yang dihasilkan dari pelatihan dan penyempurnaan. Dalam rangkaian pilihan yang terus berkembang ini, KerasHub memungkinkan Anda untuk memadupadankan arsitektur model populer dan bobotnya di berbagai framework machine learning.
Misalnya: tempat populer untuk memuat cehckpoint adalah Hugging Face Hub. Banyak dari checkpoint model tersebut dibuat dengan library transformers
Hugging Face dalam format SafeTensors. Terlepas dari framework machine learning yang digunakan untuk membuat checkpoint model, bobot tersebut dapat dimuat ke dalam model KerasHub, yang memungkinkan Anda menggunakan framework pilihan Anda (JAX, PyTorch, atau TensorFlow) untuk menjalankan model.
Ya, itu berarti Anda dapat menjalankan checkpoint dari Mistral atau Llama di JAX, atau bahkan memuat Gemma dengan PyTorch—tidak ada yang lebih fleksibel dari itu.
Mari kita lihat beberapa istilah ini secara lebih mendetail, dan kita bahas cara kerjanya dalam praktiknya.
Saat memuat model, ada dua bagian berbeda yang kita perlukan: arsitektur model dan bobot model (sering disebut "checkpoint"). Mari kita definisikan masing-masing secara lebih mendetail.
Ketika kita menyebut "arsitektur model", yang kita maksud adalah cara lapisan-lapisan model disusun, dan operasi-operasi yang terjadi di dalamnya. Cara lain untuk menggambarkan hal ini adalah dengan menyebutnya "struktur" model. Kita menggunakan framework Python seperti PyTorch, JAX, atau Keras untuk mengekspresikan arsitektur model.
Ketika kita berbicara tentang "bobot model", yang kita maksud adalah "parameter" suatu model, atau angka-angka dalam suatu model yang berubah selama pelatihan. Nilai-nilai tertentu dari bobot-bobot ini adalah yang memberikan karakteristik pada model yang telah dilatih.
"Checkpoint" adalah ringkasan nilai bobot model pada titik tertentu dalam pelatihan. File checkpoint umum yang dibagikan dan digunakan secara luas adalah file yang telah mencapai hasil pelatihan yang sangat baik. Saat arsitektur model yang sama disaring lebih lanjut dengan penyempurnaan dan teknik lainnya, file checkpoint baru tambahan dibuat. Misalnya: banyak developer telah mengambil model gemma-2-2b-it Google dan menyempurnakannya dengan set data mereka sendiri, dan Anda dapat melihat lebih dari 600 contoh. Semua model yang disempurnakan ini menggunakan arsitektur yang sama dengan model gemma-2-2b-it asli, tetapi checkpoint mereka memiliki bobot yang berbeda.
Nah, begitulah: arsitektur model dijelaskan dengan kode, sementara bobot model adalah parameter terlatih yang disimpan sebagai file checkpoint. Saat kita memiliki arsitektur model bersama dengan sekumpulan bobot model (dalam bentuk file checkpoint), kita membuat model yang berfungsi yang menghasilkan output yang bermanfaat.
Alat seperti library transformers Hugging Face dan library KerasHub Google menyediakan arsitektur model dan API yang diperlukan untuk bereksperimen dengannya. Contoh repositori checkpoint meliputi Hugging Face Hub dan Model Kaggle.
Anda dapat memadupadankan pustaka arsitektur model dengan repositori checkpoint pilihan Anda. Misalnya: Anda dapat memuat checkpoint dari Hugging Face Hub ke dalam arsitektur model JAX dan menyempurnakannya dengan KerasHub. Untuk tugas yang berbeda, Anda mungkin menemukan checkpoint pada Kaggle Models yang sesuai dengan kebutuhan Anda. Fleksibilitas dan pemisahan ini berarti Anda tidak terkurung dalam satu ekosistem.
Kami telah menyebutkan KerasHub beberapa kali. Mari kita bahas lebih detail.
KerasHub adalah library Python yang membantu mempermudah pendefinisian arsitektur model. Library ini berisi banyak model machine learning yang paling populer dan umum digunakan saat ini, dan masih banyak lagi yang bisa ditambahkan kapan saja. Karena berbasis Keras, KerasHub mendukung ketiga library machine learning Python utama yang digunakan saat ini: PyTorch, JAX, dan TensorFlow. Ini berarti Anda dapat mendefinisikan arsitektur model di library mana pun sesuka Anda.
Lebih jauh lagi, karena KerasHub mendukung format checkpoint yang paling umum, Anda dapat dengan mudah memuat checkpoint dari banyak repositori checkpoint. Misalnya: Anda dapat menemukan ratusan ribu checkpoint di Hugging Face dan Kaggle untuk dimuat ke dalam arsitektur model ini.
transformers
Hugging FaceAlur kerja umum oleh developer adalah menggunakan library transformers
Hugging Face untuk menyempurnakan model dan menguploadnya ke Hugging Face Hub. Dan jika Anda adalah pengguna transformers
, Anda juga akan menemukan banyak pola API yang familier di KerasHub. Lihat dokumentasi API KerasHub untuk mempelajari lebih lanjut. Aspek menarik dari KerasHub adalah banyak checkpoint yang ditemukan di Hugging Face Hub itu kompatibel tidak hanya dengan library transformers
, tetapi juga KerasHub. Mari kita lihat cara kerjanya.
Hugging Face memiliki repositori checkpoint model, yang disebut Hugging Face Hub. Ini adalah salah satu dari banyak tempat komunitas machine learning mengupload checkpoint model mereka dan membagikannya kepada dunia. Yang paling populer di Hugging Face adalah format SafeTensors, yang kompatibel dengan KerasHub.
Anda dapat memuat checkpoint ini dari Hugging Face Hub langsung ke model KerasHub Anda, selama arsitektur model tersedia. Ingin tahu apakah model favorit Anda tersedia? Anda dapat memeriksa https://keras.io/keras_hub/presets/ untuk melihat daftar arsitektur model yang didukung. Dan jangan lupa, semua checkpoint yang disempurnakan kreasi komunitas dari arsitektur model ini juga kompatibel! Kami baru-baru ini membuat panduan baru untuk membantu menjelaskan prosesnya secara lebih mendetail.
Bagaimana cara kerjanya? KerasHub memiliki konverter bawaan yang menyederhanakan penggunaan model transformers
Hugging Face. Konverter ini secara otomatis menangani proses penerjemahan checkpoint model Hugging Face ke dalam format yang kompatibel dengan KerasHub. Ini berarti Anda dapat memuat berbagai model transformer Hugging Face yang telah dilatih sebelumnya dari Hugging Face Hub langsung ke KerasHub hanya dengan beberapa baris kode.
Jika Anda melihat arsitektur model yang hilang, Anda dapat menambahkannya dengan mengajukan permintaan pull di GitHub.
Jadi bagaimana kita mendapatkan checkpoint dari Hugging Face Hub yang dimuat ke KerasHub? Mari kita lihat beberapa contoh konkret.
Kita akan mulai dengan memilih library machine learning sebagai "backend" Keras kita. Kita akan menggunakan JAX dalam contoh yang ditampilkan, tetapi Anda dapat memilih antara JAX, PyTorch, atau TensorFlow untuk mana saja. Semua contoh di bawah ini berfungsi, apa pun pilihan Anda. Lalu, kita dapat melanjutkan dengan mengimpor keras
, keras_hub
, dan huggingface_hub
, kemudian login dengan token Akses Pengguna Hugging Face sehingga kita dapat mengakses checkpoint model.
import os
os.environ["KERAS_BACKEND"] = "jax" # or "torch" or "tensorflow"
import keras
from keras_hub import models
from huggingface_hub import login
login('HUGGINGFACE_TOKEN')
Pertama, mungkin kita ingin menjalankan checkpoint dari Mistral di JAX? Di KerasHub, ada beberapa model Mistral yang tersedia dalam daftar arsitektur model yang tersedia di KerasHub, mari kita coba mistral_0.2_instruct_7b_en
. Dengan mengkliknya, kita melihat bahwa kita harus menggunakan class MistralCausalLM
untuk memanggil from_preset
. Di sisi Hugging Face Hub, kita melihat bahwa checkpoint model yang sesuai disimpan di sini, dengan lebih dari 900 versi yang telah disempurnakan. Dengan menelusuri daftar itu, ada model yang telah disempurnakan dan berfokus pada pengamanan cyber yang disebut Lily, dengan nama jalur segolilylabs/Lily-Cybersecurity-7B-v0.2
. Kita juga perlu menambahkan "hf://
" sebelum jalur itu untuk menentukan bahwa KerasHub harus melihat Hugging Face Hub.
Menggabungkan semuanya, kita mendapatkan kode berikut:
# Model checkpoint from Hugging Face Hub
gemma_lm = models.MistralCausalLM.from_preset("hf://segolilylabs/Lily-Cybersecurity-7B-v0.2")
gemma_lm.generate("Lily, how do evil twin wireless attacks work?", max_length=30)
Llama 3.1-8B-Instruct adalah model yang populer, dengan lebih dari 5 juta download bulan lalu. Mari kita masukkan versi yang telah disempurnakan ke JAX. Dengan lebih dari 1.400 checkpoint yang disempurnakan, pilihan tidak pernah kurang. Checkpoint yang disempurnakan xVerify tampak menarik, mari kita muat itu ke JAX di KerasHub.
Kita akan menggunakan class Llama3CausalLM untuk mencerminkan arsitektur model yang kita gunakan. Seperti sebelumnya, kita akan memerlukan jalur yang sesuai dari Hugging Face Hub, diawali dengan "hf://
". Sungguh menakjubkan bahwa kita dapat memuat dan memanggil model hanya dengan dua baris kode, bukan?
# Model checkpoint from Hugging Face Hub
gemma_lm = models.Llama3CausalLM.from_preset("hf://IAAR-Shanghai/xVerify-8B-I")
gemma_lm.generate("What is the tallest building in NYC?", max_length=100)
Terakhir, mari kita muat checkpoint Gemma-3-4b-it yang disempurnakan ke dalam JAX. Kita akan menggunakan class Gemma3CausalLM, dan memilih salah satu checkpoint yang disempurnakan. Bagaimana dengan EraX, penerjemah multibahasa? Seperti sebelumnya, kita akan menggunakan nama jalur dengan awalan Hugging Face Hub untuk membuat jalur lengkap "hf://erax-ai/EraX-Translator-V1.0
".
# Model checkpoint from Hugging Face Hub
gemma_lm = models.Gemma3CausalLM.from_preset("hf://erax-ai/EraX-Translator-V1.0")
gemma_lm.generate("Translate to German: ", max_length=30)
Seperti yang telah kita bahas, arsitektur model tidak perlu dikaitkan dengan bobotnya, yang berarti Anda dapat menggabungkan arsitektur dan bobot dari pustaka yang berbeda.
KerasHub menjembatani kesenjangan antara berbagai framework dan repositori checkpoint. Anda dapat mengambil checkpoint model dari Hugging Face Hub — bahkan yang dibuat menggunakan library transformer berbasis PyTorch—dan memuatnya dengan lancar ke dalam model Keras yang berjalan pada backend pilihan Anda: JAX, TensorFlow, atau PyTorch. Hal ini memungkinkan Anda memanfaatkan koleksi besar model komunitas yang disempurnakan, sambil tetap memiliki pilihan penuh atas framework backend yang akan dijalankan.
Dengan menyederhanakan proses padu padan arsitektur, bobot, dan framework, KerasHub memberdayakan Anda untuk bereksperimen dan berinovasi dengan fleksibilitas yang sederhana dan kuat.