当前位置: 首页 > wzjs >正文

网站防止非法链接怎么做引流推广多少钱一个

网站防止非法链接怎么做,引流推广多少钱一个,长沙百度网站制作,网上订餐系统dreamwaver网站设计vLLM v1整体流程梳理:offline inference 在阅读了知乎猛猿小姐姐的图解Vllm V1系列1后,为了更好的和实际代码结合,因此debug了vLLM的0.8.4版本的源码,从源码上结合来学习v1的设计会更加深入和具体。 前言:强烈建议先看…

vLLM v1整体流程梳理:offline inference

在阅读了知乎猛猿小姐姐的图解Vllm V1系列1后,为了更好的和实际代码结合,因此debug了vLLM的0.8.4版本的源码,从源码上结合来学习v1的设计会更加深入和具体。
前言:强烈建议先看一下知乎猛猿小姐姐的图解Vllm V1系列1解读,先知道原理再看代码比较好理解!

介绍

这篇blog主要针对vLLM v1的离线推理的模块设计进行源码级别的讲解,我们会从一个入口开始debug,从用户的prompt输入开始,一直到返回模型输出结束。这里会包含大量的源码截图,出于篇幅考虑,本篇blog不会详细介绍每一行代码,只会对模块进行大致的介绍,读者可以根据截图自己对源码进行详细调试。

overview

下图摘自猛猿小姐姐的图解Vllm V1系列1,本篇blog用这张图作为overview,会对vLLM源码debug图中讲解的所有模块,因此读者可以结合猛猿小姐姐的图解Vllm V1系列1一起学习。
在这里插入图片描述

debug入口:vllm/examples/offline_inference/basic/basic.py

在这里插入图片描述

  • step in并跳过装饰器后进入了LLM类的__init__函数中:

在这里插入图片描述

  • 打断点跳转到LLMEngine的创建入口:

在这里插入图片描述

  • 进入这个from_engine_args函数后,可以看到:

在这里插入图片描述

  • vLLM默认是启用VLLM_USE_V1环境变量的,因此默认会使用v1的LLMEngine实现
  • 我们接着step in(from_vllm_config函数):

在这里插入图片描述

  • 按照上图继续step in,就进入了v1 LLMEngine的构造函数中:

在这里插入图片描述

  • 接着往下看,会看到:

在这里插入图片描述

  • 继续往下看:

在这里插入图片描述

  • 看图:

在这里插入图片描述

  • make_client函数根据是否启用多进程和 asyncio,创建适合的 EngineCoreClient 子类实例:

在这里插入图片描述

  • 离线推理是同步+多进程,我们从这里继续step in:

在这里插入图片描述

  • 这里就到了overview中的SyncMPClient模块中,这里调用super().init(), 我们step in进去:

在这里插入图片描述

  • 继续debug

在这里插入图片描述

  • 进入到CoreEngine类中:

在这里插入图片描述

  • 这里就要创建进程了,target_fn=EngineCoreProc.run_engine_core,因此现在这个函数里面打个断点,防止追不到:

在这里插入图片描述

  • 我们在BackgroundProcHandle跳过之后可以观察到调用堆栈中创建了一个新的进程:

在这里插入图片描述

  • 点击之后就会停在刚刚我们打的断点处:

在这里插入图片描述

  • 往下看,接着打断点:

在这里插入图片描述

  • 进入这个EngineCoreProc的实例化方法后:

在这里插入图片描述

  • 我们接着debug进入上图中的super().init()中:

在这里插入图片描述

  • 看过vLLM v0代码的读者,看到这个EngineCore构造函数中的内容应该会觉得很熟悉(至少我觉得)

在这里插入图片描述

  • 我们再进入调度器实现看看:

在这里插入图片描述

  • 下图就是调度器模块了,v1中调度器是prefill和decode混合的,而且没有cpu offload了,这要和v0调度器区分一下:

在这里插入图片描述

  • debug到这里,其实overview中所有的模块都包含了,具体细节读者可以边debug,边print。
  • 我们直接step out到最初始的离线推理入口函数中:

在这里插入图片描述

  • 进入到LLM的generate()函数中:

在这里插入图片描述

  • 进入run_engine():

在这里插入图片描述

  • 进入step之后,可以看到:

在这里插入图片描述

  • 可以看到:

在这里插入图片描述

  • 这个get_output是直接使用了SyncMPClient中的outputs_queue获取了,因为我们前面以前添加了request(可以自行debug),进程已经运行了推理。
  • 然后进程process 0 会反复进行setp的操作,直到全部请求都推理完成:

在这里插入图片描述

  • 推理结束:

在这里插入图片描述
笔者已经尽量详细,但还是觉得写的不太好,多多包涵!

http://www.dtcms.com/wzjs/10409.html

相关文章:

  • 网站风格对比信息表win10优化软件
  • 微信公众平台是什么杭州优化外包哪里好
  • p2p理财网站开发windows10优化软件
  • 没有经验可以做网站编辑吗seo每日工作内容
  • 网站建设公司厂商品seo优化是什么意思
  • 共青城网站建设免费信息发布平台网站
  • 微信的微网站模板下载不了营销页面设计
  • 网站建设页面seo销售好做吗
  • 北京市网站公安备案查询系统营销网站建设软件下载
  • 做外贸网站功能专业软文平台
  • 手机版网站设计网站服务器查询
  • Wordpress的未来重庆seo哪个强
  • 网站编辑难做吗上海seo推广平台
  • 陕西省住房和城乡建设厅网站上查询2345网址导航官网
  • 猫扑网站开发的网游大数据营销推广精准粉
  • 网站地图怎么建设网络推广外包一年多少钱
  • 宁波北仑做公司网站百度学术论文查重入口
  • 宝塔 怎么做网站信息流广告优化师
  • 品网站建设公司排名关键词优化排名要多少钱
  • 德州手机网站建设报价百度大全下载
  • 新闻更新的web网站开发免费网站在线观看人数在哪
  • 网站有了订单邮箱提醒代码百度一下百度搜索入口
  • 网页编辑实训报告杭州百度seo代理
  • 郑州做网站元辰网站优化排名优化
  • 毕节做网站建网站教程
  • 西平县建设局网站2022年今天新闻联播
  • 花20亿做网站网络营销个人总结
  • 网络经营许可证优化大师下载安装app
  • 国内设计欣赏网站企业网络营销成功案例
  • 校园网站建设方向公司网站建设