ServiceNow Apriel-1.5-15B-Thinker: Überblick über ein multimodales Reasoning-Modell

Besonders interessant an ServiceNows neuem multimodalen Reasoning-Modell Apriel-1.5-15B-Thinker ist der klare Schwerpunkt auf Midtraining, anstatt stark auf Post-Training und Reinforcement Learning (RL) zu setzen. Eine Form des Post-Trainings, das Supervised Fine-Tuning (SFT), kommt dennoch zum Einsatz. Es wird jedoch ausschließlich für textbasierte Daten mit Reasoning-Traces verwendet und nicht für Bilddaten.

Das Modell umfasst 15 Milliarden Parameter, ist als Open-Weight-Modell verfügbar, unterstützt multimodale Eingaben und kann auf einer einzelnen GPU betrieben werden. Zum Vergleich: Es ist kleiner als gpt-oss, ein Open-Weight-Modell für multimodales Reasoning von OpenAI, das in Varianten mit 20B und 120B Parametern verfügbar ist. Dadurch lässt sich Apriel-1.5-15B-Thinker speichereffizienter ausführen. Trotz der vergleichsweise kompakten Modellgröße erzielt es eine starke Leistung. Berichten zufolge ist es mindestens zehnmal kleiner als jedes andere Modell, das im Artificial Analysis Intelligence Index einen Wert von über 50 erreicht.

Wichtige Erkenntnisse

  • Fokus auf Midtraining: Apriel-1.5-15B-Thinker hebt sich dadurch ab, dass es auf eine Midtraining-Pipeline setzt. Diese umfasst Depth Upscaling, gestuftes Continual Pretraining und textbasiertes SFT, anstatt umfassendes Post-Training und RL in den Mittelpunkt zu stellen.
  • Speichereffizienz und Leistung: Obwohl Apriel-1.5-15B-Thinker nur 15 Milliarden Parameter besitzt, handelt es sich um ein Open-Weight-Modell für multimodales Reasoning, das auf einer einzelnen GPU ausgeführt werden kann. Es bietet damit eine speichereffiziente Alternative zu größeren Modellen und erreicht dennoch starke Ergebnisse, darunter einen Wert von über 50 im Artificial Analysis Intelligence Index bei nur einem Zehntel der Größe vergleichbarer Modelle.
  • Open-Weight-Veröffentlichung: Die Veröffentlichung enthält den Modell-Checkpoint, die Trainingsrezepte und die Evaluierungsprotokolle. Dadurch werden Transparenz und weiterführende Forschung unterstützt.
  • Mehrstufiger Trainingsansatz: Das Modell profitiert von einem mehrstufigen Trainingsprozess. Dazu gehören die Initialisierung auf Basis von Pixtral-12B-Base-2409, Depth Upscaling, die Neuausrichtung des Projection Networks sowie ein zweistufiges Continual Pretraining, das zunächst auf Text und anschließend auf Bilder ausgerichtet ist. Danach folgt Supervised Fine-Tuning (SFT) mit sorgfältig ausgewählten High-Signal-Daten.
  • Allgemeine Einsatzmöglichkeiten: Apriel-1.5-15B-Thinker wurde für ein breites Spektrum instruktionbasierter Aufgaben entwickelt, darunter Code-Unterstützung, logisches Denken und Function Calling. Für sicherheitskritische Einsatzbereiche, in denen vollständige faktische Genauigkeit erforderlich ist, ist es jedoch nicht vorgesehen.

Details zur Veröffentlichung

Die Open-Weight-Veröffentlichung von Apriel-1.5-15B-Thinker umfasst den Modell-Checkpoint, vollständige Trainingsrezepte und Evaluierungsprotokolle. Nach unserem Kenntnisstand sind die konkret für das Training verwendeten Datensätze jedoch nicht in der Veröffentlichung enthalten.

Das Paper beschreibt die verwendeten Datentypen nur allgemein, darunter:

  • Pretraining-ähnliche Korpora
  • Webbasierte Text- und Bilddaten
  • Reasoning-fokussierte Beispiele
  • Verifizierte und nicht verifizierte synthetische Daten

Erstkalibrierung

Dieses Modell wurde nicht von Grund auf neu vortrainiert. Stattdessen initialisierten die Forschenden das Training mit den Gewichten von Pixtral-12B-Base-2409, einem multimodalen Modell mit 12 Milliarden Parametern. Dieses Basismodell nutzt eine LLaVA-ähnliche Architektur, bei der ein Vision Encoder über ein zweischichtiges, vollständig verbundenes Projection Network mit einem multimodalen Decoder verbunden ist.

Interessant ist die Frage, warum genau dieses Modell für die Gewichtsinitialisierung gewählt wurde, da es bereits im Vorjahr veröffentlicht wurde und inzwischen kleinere sowie leistungsfähigere Alternativen existieren. Das Paper erklärt, dass das Ziel darin bestand, „multimodale Fähigkeiten auf recheneffiziente Weise zu ermöglichen“, und dass die Forschenden „eine Version von Unsloth verwendeten, die zum Zeitpunkt der Erstellung nicht mehr unter https://huggingface.co/unsloth verfügbar ist.“

Pixtral-Architektur

Midtraining

Da der Begriff „Midtraining“ noch vergleichsweise neu ist, kann seine Definition variieren. Deshalb legen Papers häufig ausdrücklich fest, wie sie diesen Begriff verwenden.

Info: Bei Apriel-1.5-15B-Thinker ist die Midtraining-Pipeline in drei Phasen gegliedert: Depth Upscaling, gestuftes Continual Pretraining und hochwertiges textbasiertes SFT.

Depth Upscaling

Depth Upscaling bedeutet in diesem Paper, dass der Decoder von 40 auf 48 Hidden Layers erweitert wurde. Eine ähnliche Strategie nutzten die Autoren bereits bei **Apriel-Nemotron-15B-Thinker**, wo sie ein 12B-Modell durch das Hinzufügen zusätzlicher Transformer-Layer zu einem stabilen 15B-Modell skalierten. Diese zusätzlichen Layer wurden mit Verfahren wie Averaging, Max-Pooling, dem Mitteln alternierender Layer und Layer-Duplikation initialisiert.

Anschließend wurde das Modell auf einem großen Text-Token-Korpus weitertrainiert. Ein Teil dieser Daten war bereits in früheren Trainingsphasen enthalten, während der Rest aus Quellen wie hochwertigen Webinhalten, technischer Literatur, mathematischen Aufgabensammlungen, Programmiercode und StackExchange-Diskussionen stammte.

Im Vergleich zum Training eines neuen Modells von Grund auf ist dieser Ansatz effizienter hinsichtlich Rechenaufwand und Datenbedarf. Der Nachteil besteht darin, dass zusätzliche Layer zwar die Leistung verbessern können, aber gleichzeitig die Inferenz rechenintensiver machen. Vor der Alignment-Phase des Projection Networks mittelten die Forschenden außerdem die Gewichte aus sechs gleichmäßig verteilten Zwischen-Checkpoints, die während des Depth Upscalings entstanden waren.

Neuausrichtung des Projection Networks

Nach der Skalierung der Schichten richteten die Forschenden das Projection Network neu aus. Dafür wurden Bildbeschreibung-Datensätze, multimodale Instruction-Response-Paare und Aufgaben zum Dokumentverständnis genutzt. Die vortrainierten Gewichte des Encoders und Decoders wurden in diesem Schritt nicht verändert.

Dies dürfte dazu beigetragen haben, die Modellleistung zu stabilisieren, indem sichergestellt wurde, dass der erweiterte Decoder die visuellen Merkmale des Encoders weiterhin wirksam interpretieren kann. Der während dieser Neuausrichtung erzeugte Checkpoint wurde anschließend für die weiteren Trainingsphasen verwendet.

Training Setup

Für Depth Upscaling und Projection Network Realignment verwendeten die Forschenden eine Sequenzlänge von 8192 mit Sequence Packing sowie eine Lernrate von 5e-5 mit linearem Decay.

Die Sequenzlänge gibt an, wie viele Tokens das Modell in einem einzelnen Forward- und Backward-Pass verarbeitet. Sie wird auch als Kontextfenster bezeichnet. Eine längere Sequenzlänge ermöglicht es dem Modell, deutlich größere Zusammenhänge auf einmal zu berücksichtigen. Bei Aufgaben wie multimodalen Instruction-Response-Szenarien und Dokumentverständnis hilft eine längere Sequenz dabei, weit voneinander entfernte Informationen miteinander zu verknüpfen.

Sequence Packing bedeutet, mehrere kürzere Trainingsbeispiele zu einer längeren Sequenz zusammenzuführen, in diesem Fall bis zu 8192 Tokens. Dadurch wird die GPU effizienter genutzt, weil weniger Rechenleistung durch Padding, also leere Tokens, verschwendet wird. Gleichzeitig kann sich die Trainingszeit verkürzen.

Die Lernrate bestimmt die Schrittgröße während der Optimierung mit Gradient Descent. Beim linearen Decay startet die Lernrate bei 5 × 10⁻⁵ beziehungsweise 0,00005 und sinkt während der fortlaufenden Gewichtsaktualisierung schrittweise auf 0. Dadurch wird verhindert, dass das Training die optimale Lösung überschießt, was eine stabilere Konvergenz unterstützt.

Continual Pretraining

Das Continual Pretraining ist in zwei Phasen unterteilt. Die erste Phase konzentriert sich auf Textdaten, während die zweite Phase auf Bilddaten ausgerichtet ist.

Der Begriff Continual Pretraining kann zunächst ungewöhnlich wirken. In diesem Kontext bedeutet er offenbar, dass das Pretraining des Basismodells Pixtral-12B fortgeführt wurde. Das unterscheidet sich vom Fine-Tuning, das normalerweise darauf abzielt, die Modellleistung für eine spezifische Aufgabe zu verbessern. Hier bestand das Ziel darin, die allgemeine multimodale Leistungsfähigkeit zu steigern.

Die folgende Tabelle fasst zusammen, wie die Forschenden das gestufte Continual Pretraining aufgebaut haben:

Merkmal CPT-Phase 1: Grundlegendes Reasoning und multimodale Daten CPT-Phase 2: Zielgerichtete Daten für visuelles Reasoning
Zweck Verbesserung des textbasierten Reasonings sowie Aufbau breiter multimodaler Fähigkeiten und eines grundlegenden Bildverständnisses. Weitere Stärkung des visuellen Reasonings, insbesondere in Bezug auf räumliche Struktur, kompositorisches Verständnis und fein abgestufte Wahrnehmung.
Datensatz-Zusammensetzung Mischung aus textbasierten und multimodalen Tokens: 50 % reine Text-Tokens für mathematisches und wissenschaftliches Reasoning, Coding und Allgemeinwissen; 20 % wiederverwendete Tokens aus der Decoder-Upscaling-Phase; 30 % multimodale Tokens für Dokument- und Diagrammverständnis, Bildbeschreibungen, ausführliche Bildbeschreibungen, OCR sowie Reasoning über visuelle mathematische und logische Aufgaben. Ein gezielter multimodaler Datensatz, der über eine synthetische Datengenerierungspipeline aus großen Rohbildsammlungen erstellt wurde. Zu den Hauptkategorien gehören Bildrekonstruktion, visueller Abgleich, Objekterkennung und Zählen.
Trainierte und eingefrorene Komponenten Vision Encoder, Projection Network und Decoder waren vollständig unfrozen und wurden während des Trainings aktualisiert. Der Vision Encoder war frozen und wurde nicht aktualisiert. Projection Network und Decoder wurden trainiert.
Sequenzlänge 32768 mit Sequence Packing. 16384 mit Sequence Packing.
Lernrate 5e-5 mit Cosine Decay und 10 % Warmup. 1e-5 mit Cosine Decay und 10 % Warmup.
Loss-Berechnung Berechnung über alle Tokens der Sequenz. Berechnung nur auf den Antworten bei Samples im Instruction-Response-Format.
Finaler Checkpoint Die Gewichte von drei gleichmäßig verteilten Zwischen-Checkpoints wurden gemittelt. Der finale Checkpoint dieser Phase wurde als Basismodell für die folgenden Phasen, einschließlich SFT, verwendet.

Supervised Fine-Tuning (SFT)

Depth Upscaling und Continual Pretraining führten zu einem Basismodell mit soliden Reasoning-Fähigkeiten. Durch Supervised Fine-Tuning (SFT) konnte es weiter verbessert werden. Die Forschenden achteten dabei auf effizienten Ressourceneinsatz und nutzten kuratierte Daten mit High-Signal-Prompts. Als Annotatoren kamen Open-Source-Modelle, insbesondere gpt-oss-120B, zum Einsatz, statt ein eigenes Annotator-Modell zu trainieren.

Aspekt Details
Datensatz Millionen hochwertiger Instruction-Response-Paare mit expliziten Reasoning-Traces.
Domänen Mathematik, Coding, Wissenschaft, Tool Calling, Konversationen, Instruction Following, Sicherheit, Content Moderation und Robustheit.
Annotator-Modell gpt-oss-120b, aus Effizienzgründen anstelle von DeepSeek-R1-0528 gewählt.
Verifizierung Ausführungsgeprüfte Daten für verifizierbare Domänen; Samples wurden schrittweise komplexer gestaltet.
Datenverarbeitung Deduplizierung, Content-Filtering, heuristische Filterung, LLM-as-Judge-Verifikation, ausführungsbasierte Prüfungen, Rejection Sampling, Formatprüfungen und Benchmark-Decontamination.
Initiales Training 4 Epochen bei einer Sequenzlänge von 32768.
Kleinerer Lauf 1 25 % stratifizierte Teilmenge, 4 Epochen bei einer Sequenzlänge von 32768.
Kleinerer Lauf 2 Sequenzlänge von 49152 mit Samples gemischter Länge.
Aktualisierungen Nur Decoder, ausschließlich mit Textdaten.
Loss-Berechnung Nur auf Antwort-Tokens.
Finales Modell Gewichteter Durchschnitt zweier kleinerer Trainingsläufe für kosteneffiziente Leistungssteigerungen.

Implementierung

Die Apriel-Modellfamilie ist darauf ausgelegt, ein breites Spektrum allgemeiner instruktionbasierter Aufgaben zu unterstützen. Dazu zählen Code-Unterstützung und Codegenerierung, logisches Denken und mehrstufige Problemlösung, Fragebeantwortung sowie Informationsabruf. Außerdem eignen sich diese Modelle gut für Function Calling, die Ausführung komplexer Anweisungen und agentenbasierte Anwendungen.

Sie sind jedoch nicht für den Einsatz in sicherheitskritischen Umgebungen ohne menschliche Aufsicht vorgesehen und auch nicht für Situationen, in denen absolute faktische Genauigkeit erforderlich ist.

Wie bereits erwähnt, kann die Inferenz auf einer einzelnen GPU durchgeführt werden. Beginnen Sie mit der Einrichtung einer geeigneten GPU-fähigen Cloud-Instanz. Für die Konfiguration einer GPU-Instanz in einer Jupyter-Notebook-Umgebung kann eine allgemeine Anleitung zur Einrichtung einer GPU-basierten AI/ML-Entwicklungsumgebung mit Jupyter Labs verwendet werden.

Empfohlen wird ein AI/ML-fähiges oder für Inferenz optimiertes Image. Viele Cloud-Infrastrukturanbieter stellen GPU-Instanzen auf Basis von NVIDIA- oder AMD-Hardware bereit.

Im Terminal:

pip install transformers==4.48 jinja2==3.1.0 torch torchvision jupyter
pip install huggingface-hub
huggingface-cli download ServiceNow-AI/Apriel-1.5-15b-Thinker
jupyter lab --allow-root

In diesem Beispiel werden zwei Prompts verwendet. Der erste ist ein einfacher Text-Prompt, der nach der Hauptstadt von Frankreich fragt. Der zweite analysiert ein Bild.

#Tested with transformers==4.48

import re
import requests
import torch
from PIL import Image
from transformers import AutoProcessor, AutoModelForImageTextToText

# Load model
model_id = "ServiceNow-AI/Apriel-1.5-15b-Thinker"
model = AutoModelForImageTextToText.from_pretrained(
    model_id, 
    torch_dtype=torch.bfloat16, 
    device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_id)

# Example 1: Text-only prompt
chat = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital for France?"},
        ],
    }
]

inputs = processor.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt")
inputs = {k: v.to(model.device) if isinstance(v, torch.Tensor) else v for k, v in inputs.items()}
inputs.pop("token_type_ids", None)

with torch.no_grad():
    output_ids = model.generate(**inputs, max_new_tokens=1024, do_sample=True, temperature=0.6)

generated_ids = output_ids[:, inputs['input_ids'].shape[1]:]
output = processor.decode(generated_ids[0], skip_special_tokens=True)
response = re.findall(r"\[BEGIN FINAL RESPONSE\](.*?)\[END FINAL RESPONSE\]", output, re.DOTALL)[0].strip()

print("Text-only Response:", response)

# Example 2: Image understanding
url = "https://picsum.photos/id/237/200/300"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")

chat = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Which animal is this?"},
            {"type": "image"},
        ],
    }
]

prompt = processor.apply_chat_template(chat, add_generation_prompt=True, tokenize=False)
inputs = processor(text=prompt, images=[image], return_tensors="pt").to(model.device)
inputs.pop("token_type_ids", None)

with torch.no_grad():
    output_ids = model.generate(**inputs, max_new_tokens=1024, do_sample=True, temperature=0.6)

generated_ids = output_ids[:, inputs['input_ids'].shape[1]:]
output = processor.decode(generated_ids[0], skip_special_tokens=True)
response = re.findall(r"\[BEGIN FINAL RESPONSE\](.*?)\[END FINAL RESPONSE\]", output, re.DOTALL)[0].strip()

print("Image Response:", response)

Sie können das Modell selbst mit anspruchsvolleren Prompts testen.

Referenzen

Fazit

Apriel-1.5-15B-Thinker ist ein Modell mit 15 Milliarden Parametern, das auf einer einzelnen GPU ausgeführt werden kann. Es nutzt Depth Upscaling, gestuftes Continual Pretraining und textbasiertes SFT, um trotz seiner vergleichsweise geringen Parameterzahl eine starke Reasoning-Leistung zu erreichen. Testen Sie das Modell und teilen Sie Ihre Einschätzung.

Quelle: digitalocean.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Model Context Protocol mit OpenAI Agents: Praxisleitfaden

AI/ML, Tutorial
Vijonavor 1 Stunde Model Context Protocol und OpenAI Agents: Praxisleitfaden für agentenbasierte KI-Workflows Workflows auf Basis großer Sprachmodelle haben sich von einer optionalen Erweiterung zu einem wichtigen Bestandteil moderner agentenbasierter KI-Systeme…
Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

gpt-oss 120b mit vLLM auf AMD MI300X GPUs bereitstellen

AI/ML, Tutorial
VijonaGestern um 14:05 Uhr gpt-oss 120b mit vLLM auf AMD-GPUs ausführen Eine der wichtigsten Fragen beim Einstieg in groß angelegte LLM-Technologien ist die verfügbare Rechenleistung. VRAM, Durchsatz, Hardwarearchitektur und Software-Stacks können…