BitNet su CPU: i miei appunti su installazione e vantaggi LLM 1.58 Bits

Andrea Belvedere
2 min readDec 24, 2024

--

https://arxiv.org/pdf/2402.17764

BitNet.cpp di Microsoft è una soluzione davvero interessante per chi vuole eseguire modelli di intelligenza artificiale di grandi dimensioni sulla CPU del proprio computer, senza dover usare una GPU. Questo framework funziona con modelli a 1 bit, come il BitNet b1.58, ed è progettato per essere veloce e preciso.

Perché usare BitNet?

Dalla documentazione ho scoperto che BitNet accelera parecchio i tempi di inferenza sulle CPU:

  • CPU ARM: Velocità aumentate da 1,37x a 5,07x.
  • Consumi energetici ridotti tra il 55,4% e il 70,0%.
  • CPU x86: Velocità aumentate da 2,37x a 6,17x.
  • Consumi energetici ridotti tra il 71,9% e l’82,2%.

Una cosa che mi ha colpito è che BitNet riesce a eseguire un modello di 100 miliardi di parametri (BitNet b1.58) su una singola CPU, con velocità di 5–7 token al secondo. Praticamente è come leggere un testo alla velocità di una persona.

Cosa serve per installarlo

Per installare BitNet.cpp bisogna avere alcuni strumenti già pronti:

  • Sviluppo desktop con C++.
  • CMake per Windows.
  • Git per Windows.
  • Compilatore C++-Clang per Windows.
  • Supporto MS-Build per LLVM-Toolset (clang).
  • Python 3.10.xx (facoltativo ma consigliato).

Come installare un modello

Il modello consigliato è Llama3–8B-1.58, basato su BitNet 1.58b e derivato dal modello Llama-3–8B-Instruct. Per installarlo, serve eseguire il comando:

pip install git+https://github.com/huggingface/transformers.git@refs/pull/33410/

Puoi trovare il modello qui: Llama3–8B-1.58.

Attenzione ai repository gated

Il modello Meta-Llama-3–8B-Instruct è ospitato su un repository gated su Hugging Face, cioè serve l’approvazione per scaricarlo. Per accedere, devi configurare il tuo token con alcune autorizzazioni minime:

  1. Read access to contents of all public gated repos you can access.
  2. Read access to contents of all repos under your personal namespace.
  3. Repositories permissions:
  • Aggiungi manualmente il repository meta-llama/Meta-Llama-3-8B-Instruct, se è nella tua lista.

Fonti utili

Per saperne di più, dai un’occhiata al rapporto tecnico ufficiale.

Buon lavoro

--

--

Andrea Belvedere
Andrea Belvedere

Written by Andrea Belvedere

Tech Writer at New Technology, Blockchain & AI. From Italy

No responses yet