Connect with us

Künstliche Intelligenz

Microsofts Inferenzframework bringt 1-Bit-große Sprachmodelle auf lokale Geräte

mm
Understanding 1-bit LLMs and Microsoft's BitNet.cpp Framework

Am 17. Oktober 2024 kündigte Microsoft BitNet.cpp an, ein Inferenzframework, das für den Betrieb von 1-Bit-quantifizierten großen Sprachmodellen (LLMs) konzipiert ist. BitNet.cpp ist ein bedeutender Fortschritt im Bereich der Gen-AI, der die effiziente Bereitstellung von 1-Bit-LLMs auf Standard-CPUs ermöglicht, ohne dass teure GPUs erforderlich sind. Diese Entwicklung demokratisiert den Zugang zu LLMs, macht sie auf einer breiten Palette von Geräten verfügbar und eröffnet neue Möglichkeiten für On-Device-AI-Anwendungen.

Verständnis von 1-Bit-großen Sprachmodellen

Große Sprachmodelle (LLMs) erforderten traditionell aufgrund ihrer Verwendung von Hochpräzisions-Gleitkommazahlen (typischerweise FP16 oder BF16) für Modellgewichte erhebliche Rechenressourcen. Diese Notwendigkeit hat die Bereitstellung von LLMs teuer und energieintensiv gemacht.

Im Kern verwenden 1-Bit-LLMs extreme Quantisierungstechniken, um Modellgewichte mit nur drei möglichen Werten darzustellen: -1, 0 und 1, daher der Begriff “1,58-Bit” (da er slightly mehr als ein Bit benötigt, um drei Zustände zu codieren).

Ternäres Gewichtssystem

Das Konzept

Die 1-Bit-Quantisierung in BitNet.cpp ist ein ternäres Gewichtssystem. BitNet funktioniert mit nur drei möglichen Werten für jeden Parameter:

  • -1 (negativ)
  • 0 (neutral)
  • 1 (positiv)

Dies führt zu einem Speicherbedarf von etwa 1,58 Bit pro Parameter, daher der Name BitNet b1.58. Die drastische Reduzierung der Parameterbitbreite führt zu einer beeindruckenden Reduzierung des Speicherbedarfs und der Rechenkomplexität, da die meisten Gleitkommamultiplikationen durch einfache Additionen und Subtraktionen ersetzt werden.

Mathematische Grundlage

1-Bit-Quantisierung beinhaltet die Transformation von Gewichten und Aktivierungen in ihre ternäre Darstellung durch die folgenden Schritte:

1. Gewichtsbinarisierung

Die Binarisierung der Gewichte beinhaltet die Zentrierung um den Mittelwert (α), was zu einer ternären Darstellung führt. Die Transformation wird mathematisch wie folgt ausgedrückt:

Wf=Sign(Wα)

Sandra ist in der Küche.
[/code]

Ich habe die letzten fünf Jahre damit verbracht, mich in die faszinierende Welt des Machine Learning und Deep Learning zu vertiefen. Meine Leidenschaft und mein Fachwissen haben mich dazu geführt, an über 50 verschiedenen Software-Entwicklungsprojekten mitzuwirken, mit einem besonderen Fokus auf KI/ML. Meine anhaltende Neugier hat mich auch zum Natural Language Processing hingezogen, ein Feld, das ich weiter erforschen möchte.