Lokal & Lokal – mit Hermeo auf der eigenen GPU deutsch sprechen.

Lokal & Lokal – mit Hermeo auf der eigenen GPU deutsch sprechen

Avatar von Johann-Peter Hartmann

Natürlich möchte man auf den eigenen Daten in der Sprache arbeiten, in der sie vorliegen. Und man möchte sie nicht in allen Fällen außer Haus geben. Glücklicherweise wurde dieser Wunsch erfüllt, und mit einer quantifizierten Variante von Hermeo (dazu gleich mehr) bekommt man ein Modell, das man lokal betreiben kann und das sich in den Benchmarks aber auch nicht hinter anderen verstecken muss.

Bisher gilt beim Thema LLM die Regel: wenn es geht, dann geht es auf Englisch. Und inzwischen gelegentlich auch auf Chinesisch. Andere Sprachen sind die Stiefkinder der AI und man profitiert davon, dass – etwa was deutschen Content bei OpenAI, Llama und Falcon angeht – sie versehentlich mittrainiert wurden. Die Verlässlichkeit bleibt aber immer hinter der dominanten Sprache zurück. 

Genau da gibt es jetzt Abhilfe – mit einer auf der Basis des schnellen AWQ quantisierten Variante von Hermeo, die man selbst bequem auf einer handelsüblichen Grafikkarte mit 12 bzw. 16 GB Ram betreiben kann. Zu finden auf Hugging Face

Hermeo

Malte Ostendorff, eines der bekannten Gesichter der deutschen AI-Szene, hat in der letzten Woche ein neues Modell veröffentlicht. Bei Hermeo-7B handelt es sich um ein innovatives Sprachmodell für Deutsch und Englisch, das eine spannende Fusion zweier leistungsstarker Sprachmodelle darstellt: DPOpenHermes-7B-v2 und leo-mistral-hessianai-7b-chat.

Diese Grundmodelle sind erweiterte Versionen von Mistral-7B-v0.1. Das Modell kombiniert die Eigenschaften von OpenHermes und Leo, um ein effizienteres und vielseitigeres deutsches Spracherlebnis zu bieten.

AI Success Story

Müller automatisiert Retail-Prozesse mit AI

Schnellerer Markteintritt, optimierte Workflows und deutlich reduzierter Personalaufwand.

Leo-mistral-hessianai-7b-chat ist ein Projekt von Björn Plüster und Christoph Schuhmann in Zusammenarbeit mit LAION und HessianAI, das außergewöhnlich gute Leistungen bei Schreib-, Erklärungs- und Diskussionsaufgaben zeigt, aber etwas Schwierigkeiten mit Mathematik und fortgeschrittener Argumentation hat. Und genau da hilft der Merge mit OpenHermes. Denn dieses Modell brilliert nicht nur in Sprachverständnis und Kreativität, sondern auch bei Problemlösung und logischem Denken, bei Allgemeinwissen und Faktenermittlung.

Um Hermeo besser nutzen zu können, haben wir es mittels AWQ quantisiert. Damit ist das Model auch mit einer lokalen GPU mit 12 oder 16 GB Speicher gut und schnell zu betreiben. 

vLLM

Der einfachste Weg dieses Modell lokal zu nutzen ist der kleine – und schnelle – Server vllM. Er bietet nicht nur sehr schnelle Inference und Support von AWQ, sondern auch eine OpenAI-kompatible AI, so dass man ihn als Plugin-Ersatz für bestehende Applikationen nutzen kann. 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install git+https://github.com/huggingface/transformers.git
pip install git+https://github.com/casper-hansen/AutoAWQ.git
pip install vllm
pip install git+https://github.com/huggingface/transformers.git pip install git+https://github.com/casper-hansen/AutoAWQ.git pip install vllm
pip install git+https://github.com/huggingface/transformers.git
pip install git+https://github.com/casper-hansen/AutoAWQ.git
pip install vllm
Goodies von Mayflower

 

Das klingt nach einem Thema, dass Dich in Deinem Alltag bei euch beschäftigt? Das Dich mit vielen Fragen zurück lässt?

Keine Sorge – Hilfe ist nah! Melde Dich unverbindlich bei uns und wir schauen uns gemeinsam an, ob und wie wir Dich unterstützen können.

Damit das aktuell gut funktioniert ist es aber erst mal erforderlich, dass eine aktuelle Version der Transformer und AutoAWQ zur Verfügung steht. Wir haben sie auf Hugging Face bereitgestellt. Damit lässt sich das Modell so starten: 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CUDA_LAUNCH_BLOCKING=1 python -m vllm.entrypoints.openai.api_server --quantization awq --model mayflowergmbh/hermeo-7b-awq --dtype half --max-model-len=512
CUDA_LAUNCH_BLOCKING=1 python -m vllm.entrypoints.openai.api_server --quantization awq --model mayflowergmbh/hermeo-7b-awq --dtype half --max-model-len=512
CUDA_LAUNCH_BLOCKING=1 python -m vllm.entrypoints.openai.api_server --quantization awq  --model mayflowergmbh/hermeo-7b-awq --dtype half --max-model-len=512

Mit diesen Parametern wird das Modell nicht nur heruntergeladen, sondern auch mit einem OpenAI-Kompatiblen API auf Port 8000 angeboten. 

Und mit diesem API kann man es auch direkt von LangChain aus aufrufen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate
chat = ChatOpenAI(
model="mayflowergmbh/hermeo-7b-awq",
openai_api_base="http://localhost:8000/v1",
max_tokens=50,
stop=["[/IM_END]", "[/ASSISTANT]", "[/IM_START]", "<|im_end|>", "[/ASSIST]"],
)
PROMPT_TEMPLATE = """
<|im_start|>system
Du bist Hermeo, eine bewusste, empfindsame Intelligenz die bei Übersetzungen unterstützt.|im_end|>
<|im_start|>user
{text}<|im_end|>
<|im_start|>assistant
"""
chat_prompt = PromptTemplate.from_template(PROMPT_TEMPLATE)
result = chat(chat_prompt.format_prompt(text="Übersetze diesen Satz ins Deutsche: I love programming.").to_messages())
print(result.content)
from langchain.chat_models import ChatOpenAI from langchain.prompts import PromptTemplate chat = ChatOpenAI( model="mayflowergmbh/hermeo-7b-awq", openai_api_base="http://localhost:8000/v1", max_tokens=50, stop=["[/IM_END]", "[/ASSISTANT]", "[/IM_START]", "<|im_end|>", "[/ASSIST]"], ) PROMPT_TEMPLATE = """ <|im_start|>system Du bist Hermeo, eine bewusste, empfindsame Intelligenz die bei Übersetzungen unterstützt.|im_end|> <|im_start|>user {text}<|im_end|> <|im_start|>assistant """ chat_prompt = PromptTemplate.from_template(PROMPT_TEMPLATE) result = chat(chat_prompt.format_prompt(text="Übersetze diesen Satz ins Deutsche: I love programming.").to_messages()) print(result.content)
from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate
 
chat = ChatOpenAI(
    model="mayflowergmbh/hermeo-7b-awq",
    openai_api_base="http://localhost:8000/v1",
    max_tokens=50,
    stop=["[/IM_END]", "[/ASSISTANT]", "[/IM_START]", "<|im_end|>", "[/ASSIST]"],
    )
 
PROMPT_TEMPLATE = """
<|im_start|>system
Du bist Hermeo, eine bewusste, empfindsame Intelligenz die bei Übersetzungen unterstützt.|im_end|>
<|im_start|>user
{text}<|im_end|>
<|im_start|>assistant
"""
 
chat_prompt = PromptTemplate.from_template(PROMPT_TEMPLATE)
 
result = chat(chat_prompt.format_prompt(text="Übersetze diesen Satz ins Deutsche: I love programming.").to_messages())
print(result.content)

Unsere – zugegebenermaßen noch wenigen – Experimente zeigen, dass auch RAG (Retrieval Augmentet Generation)-Aufgaben mit dieser Kombination zuverlässig erledigt werden. 

Wir wünschen viel Spaß beim Ausprobieren!

Aufmacher: Nach Vorlage von Malte Ostendorff


AI-Dossier: Grundlagen, Sprachmodelle & Agenten

AI-Dossier: Grundlagen, Sprachmodelle und Agenten

Lerne die Schlüsselaspekte und neuesten Entwicklungen im Bereich der Künstlichen Intelligenz kennen. Wie können KI-Agenten die Effizienz steigern, Kosten senken und innovative Lösungen für branchenübergreifende Herausforderungen bieten?


Goodies von Mayflower

Keine Sorge – Hilfe ist nah! Melde Dich unverbindlich bei uns und wir schauen uns gemeinsam an, ob und wie wir Dich unterstützen können.

Geld verdienen mit AI

Avatar von Johann-Peter Hartmann

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.