npu-inference-qwen35b.py

LattePanda Sigma 2: Intel Core Ultra X7 358H Single-Board Server · File : npu-inference-qwen35b.py · Language : Python · Use case : Exécuter une inférence locale sur le modèle Qwen3.6-35B-A3B en utilisant le NPU Intel pour maximiser l'efficacité énergétique.

Python example using OpenVINO to load a quantized model on the Intel NPU of the board.

This script requires the 'openvino' library installed via pip. It specifically targets the NPU device to free up CPU/GPU resources. The model must be pre-converted to OpenVINO IR format (.xml/.bin). Ensure the quantized Qwen3.6-35B-A3B model is accessible at the specified path. Using the NPU enables efficient inference without excessive overheating.

npu-inference-qwen35b.py

import openvino as ov
import numpy as np

# Chargement du modèle quantifié optimisé pour le NPU Intel
# Le chemin dépend de l'installation OVMS, mais OVMS utilise souvent OpenVINO en arrière-plan
# Ici, on simule une interaction directe si le modèle est exporté en IR OpenVINO

MODEL_PATH = "/opt/ovms/models/qwen3-35b-a3b/1/qwen3-35b-a3b-int8-ov.xml"

try:
    core = ov.Core()
    # Sélection du NPU comme périphérique de calcul
    device = "NPU"
    print(f"Initialisation du NPU Intel...")
    
    # Note : Pour les grands modèles LLM, l'inférence directe via OpenVINO Python API 
    # nécessite une gestion manuelle des tokens. Pour la production, OVMS est recommandé.
    # Cet exemple montre comment charger le modèle sur le NPU.
    
    compiled_model = core.compile_model(MODEL_PATH, device)
    print("Modèle chargé sur le NPU avec succès.")
    print("Prêt pour l'inférence (utilise ~50 TOPS).")
    
except Exception as e:
    print(f"Erreur lors du chargement du modèle sur le NPU : {e}")
    print("Vérifiez que le chemin du modèle est correct et que le pilote NPU est installé.")

← Back to the board