首页  专利技术  电子电路装置的制造及其应用技术

一种面向大模型应用的任务分发方法及系统

2025-04-29 16:00:01 347次浏览
一种面向大模型应用的任务分发方法及系统

本发明涉及资源调度,特别是涉及一种面向大模型应用的任务分发方法及系统。


背景技术:

1、随着人工智能技术的发展,大模型的使用场景日益广泛,除了基础的问答功能本身,越来越多的应用基于大模型的能力开发出丰富的功能以供人们使用,比如说ai agent等。除了使用大模型公司提供的api接口,越来越多的开发人员倾向于基于开源大模型,例如chatglm和meta llama等进行本地化部署。对于大模型的本地化部署,使用者往往需要关注大模型的使用、管理和拓展的问题。现有的本地化部署框架,例如hugging face的textgeneration inference框架,往往只关注于单个大模型的使用和部署问题。然而,在实际情况下,单个本地部署的大模型吞吐率较低导致无法支撑多个用户的使用,因此支持多个本地化部署的大模型的使用、调度和管理的系统是支撑基于本地化部署大模型的应用的基石。

2、对于多个大模型的管理和使用,系统解决如下问题。首先,系统需要具有能够管理和使用不同类型大模型执行任务的能力。其次,大模型一次任务执行的代价相对较高,系统需要具有使用大模型优化中的批处理方法优化大模型任务执行效率。同时,vllm和textgeneration inference等大模型推理框架也提供了对于单个大模型任务执行的优化,系统需要具有支持使用上述框架的能力。最后,大模型运行要求大量gpu显存,系统需要对大模型运行状态以及其运行的硬件的监控能力,能够在问题出现后快速定位问题。

3、基于上述解决的问题,研发一种面向大模型应用的任务分发方法及系统是十分有必要的。


技术实现思路

1、为了克服现有技术的不足,本发明的目的是提供一种面向大模型应用的任务分发方法及系统。

2、为实现上述目的,本发明提供了如下方案:

3、一种面向大模型应用的任务分发方法,包括:

4、使用消息队列分发不同类型的任务到请求分发器;

5、使用用户配置的分组策略对同一类型的任务分组,得到不同的任务组;

6、基于最优匹配算法将不同的任务组调度到任务执行组件进行执行。

7、优选地,使用消息队列分发不同类型的任务到请求分发器,包括:

8、利用http网关为接收到用户请求设置一个路由键和一个请求id;每种路由键标识一种类型的任务;每个请求id标识一个用户请求;

9、使用消息队列的主题交换,将每个路由键绑定到一个队列;

10、利用各个请求分发器接受并消费对应队列的任务;请求分发器的数目与队列的数目相同。

11、优选地,使用用户配置的分组策略对同一类型的任务分组,得到不同的任务组,包括:

12、基于时间优先的分组策略,将尚未执行的任务按照尚未执行的任务到来的时间先后顺序分成一组,得到任务组;或

13、基于长度有限的分组策略,从长度为0到允许任务的最大长度按照间隔划分成组;其中,max_input_length表示最大长度,delta表示间隔;当每次到来一个任务,按照任务的长度加入到对应长度的组内,同一组内按照到来的时间顺序排序,得到任务组。

14、优选地,在使用用户配置的分组策略对同一类型的任务分组,得到不同的任务组之后,还包括:

15、设置任务组的关键值为任务组内最先到来的任务的到来时间并按照时间戳的值由小到大排序,选取关键值最小的组作为调度组由请求分发器。

16、优选地,所述请求分发器管理若干个任务执行组件;每个任务执行组件内封装一个大模型程序执行任务;基于管理员为每个大模型程序分配的gpu显存确定批处理行数;请求分发器还用于根据调度组行数和不同任务执行组件的批处理行数,使用最优匹配算法为调度组选择任务执行组件。

17、优选地,使用最优匹配算法为调度组选择任务执行组件,包括:

18、对每个任务执行组件计算调度关键值;所述调度关键值的计算公式为:schedulingkey=batchsize–schedulinggroupsize;其中,schedulingkey表示调度关键值,batchsize表示批处理行数,schedulinggroupsize表示调度组行数;

19、选取调度关键值大于或等于0并且具有最小调度关键值的任务执行组件执行调度组中的任务,并将调度组设置为空;若全部调度关键值小于0,则选取具有最大的任务执行组件执行调度组的前批处理行数个任务,并从调度组中移除已经发送给任务执行组件执行的任务,重新设置调度组的关键值为当前组内任务的时间戳的最小值。

20、一种面向大模型应用的任务分发系统,其特征在于,应用于上述面向大模型应用的任务分发方法,所述面向大模型应用的任务分发系统包括:

21、一个任务调度器,用于接受任务请求并进行任务分发和调度到任务执行组件;

22、多个任务执行组件,每个任务执行组件包括一个使用任务执行组件框架封装的大模型程序,用于执行请求分发器所分配的一个或一组请求并返回处理结果。

23、优选地,所述任务调度器包括:

24、http网关,用于接收和管理用户请求;

25、消息队列,用于为任务的缓存和分发并接收响应;

26、请求分发器,用于为使用最优匹配算法调度任务组和任务执行组件;

27、请求发送缓冲区,用于为基于分组策略进行任务分组;

28、调度策略管理器,用于为管理分组策略,配置系统信息。

29、优选地,所述http网关包括:

30、接口单元,用于提供http接口,接收用户侧发送的对话请求,将用户向大模型提出的问题赋予一个唯一的id,发送到消息队列中;

31、问题存储单元,用于从消息队列的回答队列中获得回答,根据回答消息中的问题id判断回答归属的问题,根据回答消息中的序列id判断消息是否完成回答,并将已经完成回答的问题存储到数据库中;

32、回答确定单元,用于提供响应式的http接口,允许用户在问题尚未完成回答时根据序列id响应式地返回最新回答,直到回答完成,或者用户在问题回答完成时一次性获得问题的回答。

33、优选地,所述请求分发器包括:

34、管理单元,用于管理着多个同类型的任务执行组件,维护各个任务执行组件的状态,执行心跳检测和错误恢复;

35、收发单元,用于接收消息队列的问题消息并发送到请求发送缓冲区;

36、调度单元,用于使用最优匹配算法调度任务组和任务执行组件。

37、根据本发明提供的具体实施例,本发明公开了以下技术效果:

38、本发明提供了一种面向大模型应用的任务分发方法及系统,方法包括:使用消息队列分发不同类型的任务到请求分发器;使用用户配置的分组策略对同一类型的任务分组,得到不同的任务组;基于最优匹配算法将不同的任务组调度到执行组件进行执行。本发明解决了现有技术中存在调度过程不合理、调度器性能瓶颈、扩展性不足和可用性低的技术问题,提高任务调度效率和可用性。使用本发明提供的方法进行多个大模型任务的调度,能够充分利用到大模型推理优化手段中最重要的批处理方法,能够有效管理部署在多个节点的大模型,能够根据不同的请求类型对大模型任务进行分发,能够高效地调度大模型执行具体任务,还支持拓展或减少大模型任务类型。

文档序号 : 【 39999493 】

技术研发人员:徐鹏,刘年超,温自强,于秀丽,杨王颖
技术所有人:北京邮电大学

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
徐鹏刘年超温自强于秀丽杨王颖北京邮电大学
企业能源站能耗数据采集装置与分类统计方法与流程 一种构建基于默克尔字典树的世界状态的方法和计算机设备与流程
相关内容