当前位置:   article > 正文

计算百川大模型的输出token_大模型获取token数

大模型获取token数

代码比较简单,记录一下免得以后要再copy一次。

首先需要在modeling_baichuan.py的BaichuanForCausalLM类中添加get_outputs函数

  1. def get_outputs(self, tokenizer, messages: List[dict], stream=False,
  2. generation_config: Optional[GenerationConfig]=None):
  3. generation_config = generation_config or self.generation_config
  4. input_ids = build_chat_input(self, tokenizer, messages, generation_config.max_new_tokens)
  5. outputs = self.generate(input_ids, generation_config=generation_config)
  6. return outputs

然后运行下面的代码计算,注意,因为我显卡空间不够,所以是半精度运行。

  1. import os
  2. import torch
  3. import platform
  4. from colorama import Fore, Style
  5. from transformers import AutoModelForCausalLM, AutoTokenizer
  6. from transformers.generation.utils import GenerationConfig
  7. import time
  8. print("init model ...")
  9. model = AutoModelForCausalLM.from_pretrained(
  10. "/home/Datasets/large_models/all_pt_model/baichuan2_13b_20240102",
  11. torch_dtype=torch.float16,
  12. device_map="auto",
  13. trust_remote_code=True
  14. )
  15. model.generation_config = GenerationConfig.from_pretrained(
  16. "/home/Datasets/large_models/all_pt_model/baichuan2_13b_20240102"
  17. )
  18. tokenizer = AutoTokenizer.from_pretrained(
  19. "/home/Datasets/large_models/all_pt_model/baichuan2_13b_20240102",
  20. use_fast=False,
  21. trust_remote_code=True
  22. )
  23. messages = []
  24. outs = []
  25. generate_tokens = []
  26. query = ["怎么创建线程", "什么是信号量,给我创建信号量的示例", "发送邮件的示例", "如何查找设备", "你好,介绍一下自己,要一千字", "给我一个创建线程的代码示例", "详细介绍一下rt-thread", "rt-thread的历史发展", "创建设备的代码示例", ]
  27. for q in query:
  28. messages = [{"role": "user", "content": q}]
  29. t1 = time.time()
  30. outputs = model.get_outputs(tokenizer, messages)
  31. t2 = time.time()
  32. outs.append(outputs)
  33. generate_tokens.append(len(outputs[0]) / (t2 - t1))
  34. print(generate_tokens)
  35. print(sum(generate_tokens)/len(generate_tokens))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/127361
推荐阅读
相关标签
  

闽ICP备14008679号