فهرست منبع

llama : skip loading unused tensors (#12004)

* llama : assign unknown/unused tensors to host buffer type

ggml-ci

* llama : skip unused tensors

ggml-ci
Georgi Gerganov 11 ماه پیش
والد
کامیت
51f311e057
1فایلهای تغییر یافته به همراه8 افزوده شده و 0 حذف شده
  1. 8 0
      src/llama-model.cpp

+ 8 - 0
src/llama-model.cpp

@@ -1424,6 +1424,14 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
                 throw std::runtime_error(format("missing tensor info mapping for %s", tn.str().c_str()));
                 throw std::runtime_error(format("missing tensor info mapping for %s", tn.str().c_str()));
             }
             }
 
 
+            // skip unused tensors
+            if (info.op == GGML_OP_NONE) {
+                LLAMA_LOG_WARN("model has unused tensor %s -- ignoring\n", tn.str().c_str());
+                ml.n_created++;
+
+                return nullptr;
+            }
+
             // tensors with "bias" suffix are always used with GGML_OP_ADD
             // tensors with "bias" suffix are always used with GGML_OP_ADD
             ggml_op op;
             ggml_op op;
             bool bias = tn.suffix != nullptr && strcmp(tn.suffix, "bias") == 0;
             bool bias = tn.suffix != nullptr && strcmp(tn.suffix, "bias") == 0;