作为一名IT从业者,本人十分关注每年的英特尔On技术创新大会,大会内容干货十足的同时,又有很多前瞻性的思考。2023年12月19日英特尔On技术创新大会中国站开幕,我对其中的一些主题有感触,为加深印象,记录如下。
2023 英特尔On技术创新大会会议简介
2023 英特尔On技术创新大会是面向智算时代的开发者的一场技术大会,在世界很多地方有召开。2023年9月19日,2023英特尔on技术创新大会在美国加州圣何塞市开幕。
2023年12月19日中国站正式开始。中国站的主题由帕特·基辛格开幕,并有多个中国专家深度讲解英特尔最新一代加速 AI 能力的计算平台,支持开放、多架构的软件方案和工具,塑造未来的技术和应用创新。
在大会官方的首页上,可以看到大会相关的主题,如人工智能生产力和性能测试的新范式、计算创新演进探索智能未来等,这些主题的演讲者包含了英特尔公司多个部门的技术大咖。
《打造自己的聊天机器人》主题内容分享
英特尔On技术创新大会主题演讲内容丰富,由于我自身工作原因,我对《打造自己的聊天机器人》这个主题很感兴趣,下面对这个主题进行记录分享。
主题简介
《打造自己的聊天机器人》讲座由邓会鹏老师讲解,这个主题是面向一个具体应用场景的,目的是快速实现一个聊天机器人,对IT开发人员很有吸引力,同时邓老师也是英特尔AI解决方案架构师。
这次大会之前我就了解过邓老师,在今年(2023年)1024程序员节北京站的的活动上,邓老师分享了《IA平台上优化GenAI开源工具》的主题,当时的主题内容大概是,英特尔在基于量化加速的LLM推理部署中,基于CPU指令集,为大语言模型的量化以及高效推理设计的代码库BigDL-LLM优化方案。
时光荏苒,岁月如梭。这么快再次遇到了邓老师的演讲。
本次讲座中,邓老师首先结合AI的流程,介绍了Intel AI 的软件产品组合。
然后提纲挈领的说明本次讲座的最终收获:
After this class, you will be able to:
本课程结束后,您将能够:
Successfully build a chatbot using Neural Chat within lntel Extension for Transformers
在Transformers的lntel扩展中使用神经聊天成功构建聊天机器人
Run LLM workflows for finetuning, quantization and inference deployment
运行LLM工作流以进行微调、量化和推理部署
主题明确,输出显著的,开始学习吧💯😄
Intel AI Software Portfolio技术
由于数据处理,建模需要多种类库,Intel提供了OneAPI MKL等多个底层的支撑平台,加速深度学习的运算。对于使用者,还提供了在线平台和Hugging Face等。
一套完整的支持环境和解决方案,对与研究和工业应用是很便捷的,避免了很多潜在的版本bug。
Hugging Face Hub和 Github 类似都是社区。Hugging face 刚开始是纽约的聊天机器人初创服务商,他们本来打算用聊天机器人来创业,后来在Github上开源了一个Transformers库,从此这个库在机器学习领域迅速大火起来。目前已经共享了超10w个预训练模型,1w个数据集,超过10w个社区成员,超过5,000公司在使用,超过50,000 GitHub stars,变成了机器学习界的Github。
Intel在Hugging Face社区,提供了训练微调部署的全套优化组件,这些组件是基于Intel对transformers,pytorch,DeepSpeed等的拓展支撑。
基于十几行代码实现Neural chat
更好的适配
Intel的Neural chat对知识抽取,微调和提示工程有很好的支持,同时提供多种模型,可以在英特尔的多种设备上运行,适配较好。这点对于大多数使用了Intel处理器的个人或企业用户,体验会很友好。
加载模型进行预测
基于Intel的扩展,可以快速入门实现一个聊天机器人,同时在代码中也可以进行自定义的配置,如:自定义模型,是否使用CPU|GPU,是否需要语音支持等。
代码量较少,不同功能选项的配置使用起来较为简便。
实现语音对话功能
ASR是自动语音识别,通过ASR识别语音为文本,再把文本输入LLM,针对返回内容转换程语音返回。这一个语音对话功能在主流的聊天软件中都是必备的。
实现上面功能的代码如下:
问答过程的敏感文本过滤实现
对于聊天机器人或问答问题,针对结果的敏感文本进行过滤是必不可少的。Intel提供了文本过滤功能,采用KV进行过滤,用星号屏蔽相关文本。
实现上面功能的代码如下:
依然是一句配置。
提升大模型性能的若干方法
Intel提供了包括采用提示词工程、检索增强、微调等多种方法进行性能提升。如何完成信息检索增强呢,当我们问what is IDM2.0 ,我们会把这行结果与知识库中的数据进行匹配,得到的结果智能会提高很多。
信息检索增强代码也是一行配置,如下:
实现大模型微调
大模型微调可以进行垂直领域的问答,会提供更有针对性的回复,只需要在代码中引入对应的库即可轻松实现大模型的微调,代码如下:
实现大模型推理
大模型微调完毕,可以进行推理,若想基于微调后的模型进行推理,只需要修改微调后的模型路径即可,代码如下:
实现大模型量化实现
大模型参数量巨大,为了节省计算时间和占用空间,可以使用量化技术。量化就是把大模型的参数精度减少些,这会使得计算速度得到提升,量化是一个很常见的推理性能提升手段。
实现量化功能的代码如下:
没错,还是寥寥几行代码。
《打造自己的聊天机器人》主题感悟
便捷易用:大模型与大多数人的使用越来越近了,通过这个主题演讲,可以看出,基于英特尔的大模型的部署推理微调量化过程十分的便捷,可以说十几行代码就可以部署一个本地大模型,这点简直是旧时王谢堂前燕,飞入寻常百姓家。
百花齐放:英特尔提供了很多大模型以供选择,总有一款适合你。
自动化与自由度的结合:基于英特尔的这系列组件还是挺友好的,封装了很多细节,也保留了一定的自由度,对于大模型的使用者来说,基于这些上层的API可以很大程度上提高大模型的部署推理量化速度,还是值得尝试的。
大厂出品,必属精品💯。
参考资源
Build LLM demo on Intel® Xeon® platform:
intel-extension-for-transformers/intel_extension_for_transformers/neural_chat at main · intel/intel-extension-for-transformers (github.com)
Get developer resources from Intel and Hugging Face:
https://www.intel.com/content/www/us/en/developer/ecosystem/hugging-face.html
Visit Neural Chat Github: