LLM Series: Menjalankan Model Phi-3 dengan ONNX Runtime

Hi Rekan,

Acara Build 2024 kemarin Microsoft banyak demoin Co-pilot PC yang bisa run model-model AI on-device karena sekarang pada dilengkapi NPU (Neural Processing Unit) di dalam chipnya. Nah, dari sisi software microsoft juga buatkan ONNX Runtime yaitu library untuk menjalankan model dengan format ONNX. Nah yang menarik kita bisa memilih backend yang digunakan untuk menjalankan model tersebut bisa menggunakan Cuda dari Nvidia atau DirectML yaitu DirectX library untuk Machine Learning tentunya ini cuma bisa run di windows. Jadi akselerasi inference model kita akan dioptimalkan secara otomatis dengan library tersebut dengan melihat ketersediaan hardware yang kita miliki untuk menjalankan model AI baik itu CPU, GPU atau NPU.

Nah, Microsoft juga luncurkan model SLM (Small Language Model) yang berukuran relatif kecil sehingga bisa jalan di device (PC/Mobile Phone) dengan nama Phi-3. Nah, artinya tanpa koneksi internet temen-temen juga bisa bikin aplikasi yang memanfaatkan model generatif ini.

Ok, penulis memodifikasi sample yang ada di ONNX Runtime khusus GenAI-nya microsoft, sehingga bisa run di multi-platform, tapi inget selain windows gunakan library Microsoft.ML.OnnxRuntimeGenAI.Cude, jika di windows bisa pakai juga: Microsoft.ML.OnnxRuntimeGenAI.DirectML. Library ini tersedia di nuget.

Ok, ada 3 aplikasi yang bisa rekan-rekan coba yaitu:

  1. Aplikasi console chat sederhana yang hanya menerima prompt berupa teks
  2. Aplikasi console chat yang bisa menerima input teks dan gambar (multi-modal)
  3. Aplikasi chat dengan UI sederhana dengan memanfaatkan Avalonia, plus fitur untuk mengatur beberapa parameter model, dan juga fungsi untuk encode/decode dari teks ke token/sebaliknya.

Langkah untuk menjalankan sampelnya:

  1. Clone reponya dari https://github.com/Gravicode/GenAI.ONNX
  2. Kemudian download modelnya dari https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx/tree/main/cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4
  3. Untuk model yang vision bisa download https://huggingface.co/microsoft/Phi-3-vision-128k-instruct
  4. Lalu buka solusinya dengan visual studio, lalu untuk aplikasi yang console silakan disesuaikan model pathnya ke arah folder model yang sudah di download ya. Sedangkan aplikasi yang dengan UI, itu sudah ada button untuk memilih folder model.
  5. Selamat ngoprek, semoga bermanfaat. ;D

Salam Dev !!

Loading

You May Also Like