Sobes.tech
Senior

Чӣ гуна профилинг кардани инференси LLM дар GPU (nsight, torch profiler)?

sobes.tech AI

Ҷавоб аз AI

Барои профилинг кардани инференси моделҳои бузурги забон (LLM) дар GPU, одатан аз воситаҳое истифода мешавад, ки ба монанди NVIDIA Nsight Systems ва PyTorch Profiler.

NVIDIA Nsight Systems маълумоти муфассал дар бораи боркунии GPU, вақти иҷрои ядро, истифодаи хотира ва ҳамкории CPU-GPU медиҳад. Барои профилинг кардани инференси LLM, бояд:

  1. Инференсро бо фармони пӯшида дар nsight оғоз кунед, масалан:
nsys profile --trace=cuda,nvtx python inference_script.py
  1. Маълумот ҷамъовардаро дар GUI-и Nsight Systems таҳлил кунед, ба диққат диҳед:
    • Вақти иҷрои ядроҳои CUDA
    • Тафовути байни даъватҳо
    • Истифодаи хотираи GPU

PyTorch Profiler имкон медиҳад, ки ба таври муфассал амалҳои дохили моделро профилинг кунед:

import torch
from torch.profiler import profile, record_function, ProfilerActivity

def inference(model, input):
    with profile(activities=[ProfilerActivity.CPU, ProfilerActivity.CUDA], record_shapes=True) as prof:
        with record_function("model_inference"):
            output = model(input)
    print(prof.key_averages().table(sort_by="cuda_time_total"))
    return output

Ин кӯмак мекунад, ки нуқтаҳои заъф дар ҳисобҳо, масалан, амалҳои суст ё истифодаи номукаммалонаи хотираро муайян кунед.

Хулоса, бо ҳамҷоя кардани профилинг системавӣ (Nsight) ва профилинг дар сатҳи рамка (PyTorch Profiler), метавон тамоман тасвирро дар бораи иҷрои инференси LLM дар GPU гирифт ва нуқтаҳои заъфро оптималӣ кард.