Mengapa kita menyempurnakan model bahasa? Fine-tuning sangat penting ketika kita perlu mengajarkan keterampilan baru LLM atau meningkatkan pemahamannya dalam domain tertentu .
Dalam proyek ini, kami bertujuan untuk menyempurnakan model bahasa instruksi/obrolan kecil dan besar, termasuk Smollm for Small Language Model (SLM) dan Mistral untuk Model Bahasa Besar (LLM).
Dataset contoh utama yang digunakan adalah medalpaca/medical_meadow_medical_flashcards , berasal dari kartu flash kurikulum medis Anki. Kartu flash ini, dibuat dan diperbarui secara teratur oleh mahasiswa kedokteran, mencakup spektrum luas topik medis - seperti anatomi, fisiologi, patologi, dan farmakologi - dan dirancang untuk mendukung pembelajaran dan retensi yang efektif melalui ringkasan singkat dan mnemonik.
Meskipun proyek ini menggunakan dataset medis_meadow_medical_flashcards, ini dapat disesuaikan dengan set data lain untuk pertanyaan/menjawab dan menginstruksikan/menanggapi tugas. Integrasi dataset yang berbeda dapat dengan mudah dilakukan dengan memodifikasi file konfigurasi.
Proyek ini juga mendukung kuantisasi, membuatnya layak untuk menyempurnakan model besar seperti Mistral dan Llama pada pengaturan perangkat keras yang lebih sederhana.
Model Smollm yang disempurnakan tersedia di Huggingface?
Sementara respons model dasar bersifat umum dan mengikuti format penurunan harga, model yang disempurnakan tampaknya telah secara efektif memasukkan keterampilan khusus yang dilatih, terutama dalam mereplikasi gaya respons yang diharapkan. Namun, sebagai seseorang tanpa latar belakang medis, saya tidak dapat menilai keakuratan atau kualitas tanggapan yang diberikan oleh kedua model. Di bawah ini adalah tabel yang membandingkan respons dari model asli, model dasar, dan model yang disesuaikan untuk serangkaian pertanyaan medis.
| Pertanyaan | Respons asli | Respons model dasar | Respons model yang disempurnakan |
|---|---|---|---|
| Obat antimalaria apa yang memiliki aktivitas terhadap plasmodium hypnozoites? | Primaquine adalah obat antimalaria yang memiliki aktivitas terhadap plasmodium hypnozoites. | Obat antimalaria adalah kelas obat yang efektif terhadap parasit plasmodium, yang bertanggung jawab untuk menyebabkan malaria. Obat antimalaria yang paling umum digunakan untuk mengobati malaria meliputi: 1. Ampisilin (amfoterisin B) : antibiotik spektrum luas yang efektif terhadap spesies Plasmodium. 2. Fosamivir (fosamivir) : antivirus spektrum luas yang efektif terhadap spesies plasmodium. 3. Influvir (influvir) : antivirus spektrum luas yang efektif terhadap spesies Plasmodium. 4. ** ampisilin | Erythromycin adalah obat antimalaria yang memiliki aktivitas terhadap plasmodium hypnozoites. |
| Apa istilah yang digunakan untuk menggambarkan jumlah zat yang disaring dalam ruang Bowman per satuan waktu? | Jumlah zat yang disaring dalam ruang Bowman per satuan waktu disebut beban yang disaring. | Istilah "Bowman's Space" adalah bahasa sehari -hari yang digunakan untuk menggambarkan jumlah zat yang disaring di ruang Bowman, yang merupakan ruang hipotetis di mana pesawat ruang angkasa diluncurkan ke orbit. Konsep ini didasarkan pada gagasan bahwa pesawat ruang angkasa dapat diluncurkan ke orbit dan kemudian kembali ke Bumi, dengan pesawat ruang angkasa menyaring partikel atau puing yang tersisa yang mungkin ada di ruang tersebut. Istilah "ruang Bowman" sering digunakan untuk menggambarkan jumlah zat yang disaring di ruang Bowman, yang merupakan ruang hipotetis di mana pesawat ruang angkasa diluncurkan ke orbit dan kemudian kembali ke Bumi. Itu | Istilah yang digunakan untuk menggambarkan jumlah zat yang disaring dalam ruang Bowman per satuan waktu disebut efisiensi filtrasi. |
| Apa istilah yang digunakan untuk menggambarkan volume darah yang terkandung dalam pembuluh darah? | Volume darah yang terkandung dalam vena disebut volume tanpa tekanan. | Istilah "volume darah" mengacu pada jumlah darah yang bersirkulasi melalui sistem peredaran darah tubuh. Ini adalah proses kompleks yang melibatkan pertukaran oksigen, nutrisi, dan produk limbah antara darah dan jaringan. Volume darah biasanya diukur dalam liter (L) atau mililiter (ML) dan biasanya didistribusikan ke seluruh tubuh melalui sistem peredaran darah. Ada beberapa komponen utama yang berkontribusi pada volume darah: 1. Sel darah merah : Ini adalah sel -sel yang membawa oksigen dari paru -paru ke jaringan. Mereka memiliki diameter sekitar 1,5 mm dan terdiri dari hemoglobin | Istilah yang digunakan untuk menggambarkan volume darah yang terkandung dalam vena disebut darah vena. |
| Apa faktor terpenting untuk menentukan prognosis karsinoma sel transisi? | Faktor terpenting untuk menentukan prognosis karsinoma sel transisi adalah tingkat invasi. | Menentukan prognosis karsinoma sel transisional (TCC) sangat penting, karena secara signifikan dapat berdampak pada kualitas hidup pasien, pilihan pengobatan, dan kelangsungan hidup secara keseluruhan. Faktor terpenting untuk menentukan prognosis TCC adalah adanya diagnosis yang jelas, tumor yang terdefinisi dengan baik, dan prognosis yang menguntungkan. Berikut adalah beberapa faktor utama yang dapat mempengaruhi prognosis TCC: 1. Diagnosis yang jelas : TCC didiagnosis dengan tumor yang jelas, yang berarti memiliki pertumbuhan jinak atau seperti jinak. TCC juga didiagnosis dengan prognosis yang menguntungkan, karena tidak mungkin menyebar ke | Faktor terpenting untuk menentukan prognosis karsinoma sel transisi adalah adanya tingkat tinggi. |
Akurasi tanggapan: Model yang disesuaikan mereplikasi format dan gaya yang diharapkan tetapi menunjukkan beberapa ketidakakuratan. Sebagai contoh, eritromisin secara tidak benar diidentifikasi sebagai obat antimalaria yang efektif terhadap plasmodium hypnozoites. Jawaban yang benar harus primaquine.
Masalah Model Dasar: Respons model dasar terlalu umum dan kadang-kadang di luar topik, terutama dalam konteks medis, seperti yang terlihat dalam penjelasan yang salah tentang ruang Bowman dan volume darah.
Catatan: Hasil ini diperoleh setelah hanya 10 zaman pelatihan. Pelatihan untuk lebih banyak zaman dapat menyebabkan hasil yang lebih baik ¯ (ツ) /¯.
Untuk menjalankan proyek ini dengan lancar, Python 3.10 diperlukan. Proyek ini telah diuji dan diverifikasi pada Python 3.10.13. Ikuti langkah -langkah di bawah ini untuk mengatur lingkungan Anda:
Buat lingkungan virtual:
python -m venv env
Aktifkan lingkungan virtual:
source env/bin/activate
Instal dependensi yang diperlukan:
pip install -r requirements.txt
Mengatur Variabel Lingkungan: Salin file .env.example dan ganti namanya menjadi .env:
mv .env.example .env
Anda dapat menjelajahi langkah -langkah pelatihan menggunakan buku catatan Jupyter:
cd notebooks
jupyter-lab
Atau, Anda dapat memulai proses penyempurnaan secara langsung. Parameter yang digunakan untuk fine-tuning ditentukan dalam file konfigurasi di dalam folder configs . Untuk memulai proses penyempurnaan dengan model SmallM default, jalankan:
python train.py
Jika Anda ingin melatih model yang berbeda, Anda dapat menentukan konfigurasi model dengan meneruskan nama file config sebagai argumen:
python train.py --model Mistral
Ganti Mistral dengan nama file konfigurasi model yang diinginkan. Untuk melatih model baru, cukup buat file konfigurasi baru dengan pengaturan yang diinginkan dan jalankan train.py dengan nama model yang sesuai.