MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / alloc_lora

Function alloc_lora

examples/finetune/finetune.cpp:381–436  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

379}
380
381static void alloc_lora(struct ggml_allocr * alloc, struct my_llama_lora * lora) {
382 ggml_allocr_alloc(alloc, lora->tok_embeddings_a);
383 ggml_allocr_alloc(alloc, lora->tok_embeddings_b);
384 ggml_allocr_alloc(alloc, lora->norm_a);
385 ggml_allocr_alloc(alloc, lora->norm_b);
386 ggml_allocr_alloc(alloc, lora->output_a);
387 ggml_allocr_alloc(alloc, lora->output_b);
388 for (uint32_t i = 0; i < lora->layers.size(); ++i) {
389 auto & layer = lora->layers[i];
390 ggml_allocr_alloc(alloc, layer.attention_norm_a);
391 ggml_allocr_alloc(alloc, layer.attention_norm_b);
392 ggml_allocr_alloc(alloc, layer.wq_a);
393 ggml_allocr_alloc(alloc, layer.wq_b);
394 ggml_allocr_alloc(alloc, layer.wk_a);
395 ggml_allocr_alloc(alloc, layer.wk_b);
396 ggml_allocr_alloc(alloc, layer.wv_a);
397 ggml_allocr_alloc(alloc, layer.wv_b);
398 ggml_allocr_alloc(alloc, layer.wo_a);
399 ggml_allocr_alloc(alloc, layer.wo_b);
400 ggml_allocr_alloc(alloc, layer.ffn_norm_a);
401 ggml_allocr_alloc(alloc, layer.ffn_norm_b);
402 ggml_allocr_alloc(alloc, layer.w1_a);
403 ggml_allocr_alloc(alloc, layer.w1_b);
404 ggml_allocr_alloc(alloc, layer.w2_a);
405 ggml_allocr_alloc(alloc, layer.w2_b);
406 ggml_allocr_alloc(alloc, layer.w3_a);
407 ggml_allocr_alloc(alloc, layer.w3_b);
408 }
409 ggml_allocr_alloc(alloc, lora->tok_embeddings_a->grad);
410 ggml_allocr_alloc(alloc, lora->tok_embeddings_b->grad);
411 ggml_allocr_alloc(alloc, lora->norm_a->grad);
412 ggml_allocr_alloc(alloc, lora->norm_b->grad);
413 ggml_allocr_alloc(alloc, lora->output_a->grad);
414 ggml_allocr_alloc(alloc, lora->output_b->grad);
415 for (uint32_t i = 0; i < lora->layers.size(); ++i) {
416 auto & layer = lora->layers[i];
417 ggml_allocr_alloc(alloc, layer.attention_norm_a->grad);
418 ggml_allocr_alloc(alloc, layer.attention_norm_b->grad);
419 ggml_allocr_alloc(alloc, layer.wq_a->grad);
420 ggml_allocr_alloc(alloc, layer.wq_b->grad);
421 ggml_allocr_alloc(alloc, layer.wk_a->grad);
422 ggml_allocr_alloc(alloc, layer.wk_b->grad);
423 ggml_allocr_alloc(alloc, layer.wv_a->grad);
424 ggml_allocr_alloc(alloc, layer.wv_b->grad);
425 ggml_allocr_alloc(alloc, layer.wo_a->grad);
426 ggml_allocr_alloc(alloc, layer.wo_b->grad);
427 ggml_allocr_alloc(alloc, layer.ffn_norm_a->grad);
428 ggml_allocr_alloc(alloc, layer.ffn_norm_b->grad);
429 ggml_allocr_alloc(alloc, layer.w1_a->grad);
430 ggml_allocr_alloc(alloc, layer.w1_b->grad);
431 ggml_allocr_alloc(alloc, layer.w2_a->grad);
432 ggml_allocr_alloc(alloc, layer.w2_b->grad);
433 ggml_allocr_alloc(alloc, layer.w3_a->grad);
434 ggml_allocr_alloc(alloc, layer.w3_b->grad);
435 }
436}
437
438static void init_lora(const struct my_llama_model * model, struct my_llama_lora * lora) {

Callers 1

init_loraFunction · 0.85

Calls 2

ggml_allocr_allocFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected