mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-18 20:57:05 +02:00
MoE : corrections de relecture du lot 2 — LOAD_GUARD ne refuse plus sur une borne fausse, et le refus se voit
La garde du mode de chargement est le seul refus actif par défaut du lot 2 : il ne doit tomber que sur un échec certain, et se dire là où l'on regarde. - Serveurs --rpc (ou LLAMA_ARG_RPC) : une part des poids part ailleurs, la VRAM locale ne borne plus rien — avertissement, jamais de refus. - Mac Intel : la mémoire n'est unifiée que sur Apple Silicon ; ailleurs la VRAM est inconnue, donc jamais de refus (l'agrandissement du cache RAM reste coupé sur tout macOS, comme avant). - LLAMA_ARG_NO_MMAP / LLAMA_ARG_MLOCK restées dans l'environnement ne comptent plus sur un moteur à --load-mode, qui les ignore : un lancement en mmap n'est plus refusé pour elles. - Le refus sortait de « loki serve » avant tout chargement : l'interface affichait un chargement sans fin. modelLoadError le reconnaît et dit quoi faire (--load-mode mmap ou LOAD_GUARD=off). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f0d5711a1a
commit
78d15cefbf
5 files changed
+69
-14
No files matched your search
@@ -96,8 +96,10 @@ func handleStatus(w http.ResponseWriter, r *http.Request) {
|
||||
// qui exige un fork de llama.cpp. Renvoie "" quand le dernier chargement a
|
||||
// réussi ou qu'aucune tentative n'est visible (évite les faux positifs sur un
|
||||
// service simplement arrêté).
|
||||
func modelLoadError() string {
|
||||
log := serviceLogTail(200)
|
||||
func modelLoadError() string { return modelLoadErrorFrom(serviceLogTail(200)) }
|
||||
|
||||
// modelLoadErrorFrom : modelLoadError sur un journal donné (tests).
|
||||
func modelLoadErrorFrom(log string) string {
|
||||
if log == "" {
|
||||
return ""
|
||||
}
|
||||
@@ -105,7 +107,9 @@ func modelLoadError() string {
|
||||
// On ne considère que ce qui suit la DERNIÈRE tentative de chargement.
|
||||
start := 0
|
||||
for i, l := range lines {
|
||||
if strings.Contains(l, "loading model") || strings.Contains(l, "load_model") {
|
||||
// Un lancement refusé par LOAD_GUARD (backend_serve_moe.go) s'arrête
|
||||
// avant tout chargement : c'est lui, la dernière tentative.
|
||||
if strings.Contains(l, "loading model") || strings.Contains(l, "load_model") || strings.Contains(l, loadGuardMarker) {
|
||||
start = i
|
||||
}
|
||||
}
|
||||
@@ -124,6 +128,9 @@ func modelLoadError() string {
|
||||
strings.Contains(low, "split_mode_tensor not implemented"):
|
||||
// Les autres lignes qui citent SPLIT_MODE_TENSOR ne sont que des avis.
|
||||
reason = "le mode tensor (-sm tensor) n'a pas pu démarrer — SPLIT_MODE=off dans le preset"
|
||||
case strings.Contains(l, loadGuardMarker):
|
||||
reason = "lancement refusé : trop de poids resteraient en RAM avec ce mode de chargement — " +
|
||||
"--load-mode mmap dans le preset, ou LOAD_GUARD=off pour passer outre"
|
||||
case strings.Contains(l, "has offset") && strings.Contains(l, "expected"):
|
||||
reason = "format de quantification non reconnu par ce moteur"
|
||||
case strings.Contains(low, "unknown model architecture"),
|
||||
|
||||
Reference in new issue
Block a user