08. HuggingFace Pipeline
Last updated
Last updated
class HuggingFacePipeline
memungkinkan Anda menjalankan model Hugging Face secara lokal.
menampung lebih dari 120.000 model, 20.000 set data, dan 50.000 aplikasi demo (Spaces) di platform online, yang semuanya bersifat open source dan tersedia untuk umum, sehingga memudahkan orang untuk berkolaborasi dan membangun ML bersama-sama.
Model-model ini dapat digunakan di LangChain dengan memanggilnya melalui pembungkus pipeline lokal ini, atau dengan memanggil titik akhir inferensi yang dihosting melalui kelas HuggingFaceHub. Untuk informasi lebih lanjut tentang pipa yang dihosting, lihat buku catatan .
Untuk menggunakannya, Anda harus memiliki paket yang diinstal dengan
Anda juga dapat menginstal xformer
untuk implementasi perhatian yang lebih hemat memori.
Mengatur path untuk mengunduh model
Model dapat dimuat dengan menentukan parameter model menggunakan metode from_model_id
.
Gunakan class HuggingFacePipeline
untuk memuat model wajah berpelukan yang telah dilatih sebelumnya.
Gunakan metode from_model_id
untuk menentukan model beomi/llama-2-en-7b
, dan atur aksi ke “text-generation”.
Gunakan parameter pipeline_kwargs
untuk membatasi jumlah maksimum token yang akan dihasilkan hingga 10.
Model yang dimuat ditetapkan ke variabel hf
, yang memungkinkan Anda untuk melakukan tugas pembuatan teks.
Anda juga dapat melewatkan pipeline transformer
yang sudah ada secara langsung untuk memuatnya.
Menerapkan model pembuatan teks menggunakan HuggingFacePipeline.
Muat model beomi/llama-2-en-7b
dan tokeniser menggunakan AutoTokeniser
dan AutoModelForCausalLM
.
Buat pipeline
“text-generation” menggunakan fungsi pipeline, dan siapkan model dan tokeniser. Batasi jumlah maksimum token yang dihasilkan hingga 10.
Buat objek hf menggunakan kelas HuggingFacePipeline
, dan berikan pipeline yang dihasilkan.
Anda dapat menggunakan objek hf
yang dihasilkan ini untuk melakukan pembuatan teks untuk prompt yang diberikan.
Setelah model dimuat ke dalam memori, model tersebut dapat dikonfigurasikan dengan prompt untuk membentuk rantai.
Gunakan class PromptTemplate
untuk membuat template prompt yang mendefinisikan format pertanyaan dan jawaban.
Pipeline objek prompt
dan objek hf
untuk membuat objek chain
.
Panggil metode chain.invoke()
untuk membuat dan mencetak jawaban dari pertanyaan yang diberikan.
Ketika menjalankan pada GPU, Anda dapat menentukan parameter device=n
untuk menempatkan model pada perangkat tertentu.
Nilai defaultnya adalah -1
, yang melakukan inferensi pada CPU.
Jika Anda memiliki beberapa GPU atau model Anda terlalu besar untuk satu GPU, Anda dapat menentukan device_map=“auto”
.
Perhatian: device
dan device_map
tidak boleh ditentukan secara bersamaan, karena hal ini dapat menyebabkan perilaku yang tidak diharapkan.
Muat model gpt2
menggunakan HuggingFacePipeline
, atur parameter device
ke 0 agar dapat berjalan pada GPU.
Gunakan parameter pipeline_kwargs
untuk membatasi jumlah maksimum token yang akan dihasilkan menjadi 10.
Buat gpu_chain
dengan pipelining prompt
dan gpu_llm
.
Panggil metode gpu_chain.invoke()
untuk menghasilkan dan menampilkan jawaban dari pertanyaan yang diberikan.
Jika dijalankan pada perangkat GPU, Anda dapat menjalankan inferensi pada GPU dalam mode batch.
Menggunakan HuggingFacePipeline
, Anda bisa memuat model beomi/llama-2-ko-7b
dan mengatur agar dijalankan di GPU.
Saat membuat gpu_llm
, atur batch_size
menjadi 2, temperature
menjadi 0, dan max_length
menjadi 64.
Hubungkan prompt
dan gpu_llm
melalui sebuah pipeline untuk membuat gpu_chain
, lalu atur token penutup menjadi "\n\n".
Gunakan gpu_chain.batch()
untuk menghasilkan jawaban secara paralel untuk pertanyaan-pertanyaan dalam questions
.
Cetak jawaban yang dihasilkan melalui loop.
Model yang digunakan:
Dalam kasus ini, library diperlukan dan akan digunakan untuk secara otomatis menentukan cara memuat bobot model.