在新问题上测试ruGPT-3

从头开始推荐系统,聊天机器人等



陷入文本数据的深渊之后,今年10月,我们训练了ruGPT-3模型-基于OpenAI架构的俄语模型。但是这些模型能做什么?在本文中,我们将收集应用模型的第一个示例-并尝试新的示例。



我们展示了与SberDevicesSber.AISberCloud团队合作开发的最大训练模型ruGPT-3 Large的初步结果让我们一起探索它的应用范围。



图片



在今年的AI之旅,我们准备了一个竞争的应用ruGPT-3 -创新,情感投入和业务应用- -使用模型,评估了三个尺度的任何解决方案可以提交给轨道。



扰流板:
一百万卢布




如何为新任务训练模型?



模型及其代码在sberbank-ai存储库中:您可以使用转换器库或Megatron-LM。



在本文中,我提供了使用huggestface / translators的示例-案例代码在此处给出:





模卡在变压器库:



当您运行生成脚本,这是容易做到运行所有-然后等待一小会儿模型被加载。



图片



最后一个单元格中的脚本将要求您输入文本的开头-我最喜欢的种子:“巴西科学家发现了一种稀有的侏儒独角兽物种,它们生活在日德兰半岛的西部。”我们 得到只有ruGPT-3 Small可以装入Colab笔记本电脑,因此最好使用内存超过14Gb的卡。



ruGPT-3 Small: , . Agence France-Presse. , Pygmaliona (. Pygmaliona pygmalioni), . 30 , — 1 . . , .







顺便说一下,在比赛进行期间,我们为赛道参与者提供使用Christofari设施的机会!

对于ruGPT-3赛道的参与者,我们在比赛中免费分配了100个帐户-每个帐户中免费分配了1个GPU Tesla V100-SXM3 32 Gb GPU。



我如何获得帐户?



1)注册ruGPT-3(AI 4人文学科)轨道ods.ai/tracks/aij2020

2)写一封简短的信,写上您的团队名称和任务到AIJ_ruGPT-3@sberbank.ru



图片



微调与微调



对于大型生成模型(如类似GPT的体系结构),有几种“处理”它们的方法。



  • : «» — . (GPT-3 ), . ( « → ») .
  • : , « » (. «prompt engineering» — , , .


?



重新训练大型模型可能非常昂贵,因此通过这种与它们“通信”的方式甚至可以避免这种情况。种子编程的本质是选择此类准备好的示例和生成的起点,以便使模型进一步产生所需的内容。



选择“种子”和生成器超参数(温度,top_n,top_k),由于仅对模型进行初步训练,就有可能获得完全可接受的答案。



图片



一个种子的例子,并带有一个例子和问题的描述。



我们将在实践中测试这两种方法-我们将尝试通过额外的培训从头解决流行的问题以及特定问题。



推荐系统



让我们建立一个未经培训的推荐系统:我们将以文本形式向ruGPT-3提交有关用户首选项的大量信息,并且我们将观察模型如何继续下去。我们可以一次生成许多选项以获得更多建议。



电影推荐: 还不错!至少薄膜似乎是根据种子产生的。由于我不是苏联电影鉴赏家,所以我什至都不知道电影《三加二》,但事实并非如此。在这一代中,我们使用了以下技巧-我们特别为文本提供了一个引号,以强制模型生成专有名称,并在第一句之后删除所有不必要的名称。音乐推荐:



: — “”, “”, “

ruGPT-3 Large: — “”, “”, “ ”, “ ”, “ ”.

ruGPT-3 Large: — “”, “”, “ ”, “”, “” (, , , ).

ruGPT-3 Large: — “”, “”, “” .”



: : “ ”, “

ruGPT-3 Large: : “ ”, “ ” “ ”.

ruGPT-3 Large: : “ ”, “ ”.

ruGPT-3 Large: : “ ”, “ ”, “ ” .











: “ , “ ”, “ #( , )

ruGPT-3 Large: , “ ”, “” “”.

ruGPT-3 Large: , “ ”, “” “ ”.

ruGPT-3 Large: , “ ”, “”, “ ”, “ ”, “” “”.



结果始终是不同的-您可能会生成N个变体,提取所有组名并收集最受欢迎的Counter-voila,这是从头开始的推荐系统。



产生评论



让我们承担一个更加艰巨的任务-让我们的模型在讨论或商店中模仿一个人: 如您所见,对于Internet上广泛传播的主题,该模型无需培训即可生成连贯的文本。但是,如果没有其他培训,仍然没有办法? 共有3种情况:



: “ .

- ”

ruGPT-3 Large: “ .

- . , .”



: “ .



ruGPT-3 Large: “ .

.

, .

, , . , , .”



: .

"1+1"

ruGPT-3 Large: .

"1+1" — , . . . . " ", .











  1. 复杂的数据格式-如果在未经培训的生成过程中由于生成格式错误而导致质量下降-NER问题,代码生成,符号计算等;
  2. , — QA , , , ;
  3. , , , — , .


StackOverflow



让我们提高复杂度:下载俄语[stack stackover](https://ru.stackoverflow.com/)并尝试制作一个问答系统。我们是否能够立即学习答案和知识以及几种编程语言?马上要解决taoki问题并不容易,但是我们可以从中获得乐趣-历经5个世纪,模型学会了重现样式,内容非常混乱。但是我很好地了解了与文档的链接-在5个学习时代中都取得了不错的成绩。



培训格式:我们以Q:“ blabla”答:“ blabla”格式提交问题和最佳答案。 (实际上没有这样的库,该模型生成了到文档的链接)



Q: python?

A: : push.log("Shalom").

- , .

set.log()**)

rGet = puts.random(extents) log.findIndex(puts.current) void join($window, command='unsetMainServer onManager') }

,



Q: python?

A: import pycode as pyc;

// ( href=https://docs.python.org/3/library/pycode.html )







对于此类任务,您可以输入其他参数-例如,您要回答的部分/主题/编程语言的名称,并以{“ parameter”:“ value”,“ question”:“ question_text”,“ answer”形式的数据训练模型: “ Answer_text”}。



就代码和文本而言,我们马上就有一个文件-也许有人会在赛道上做得更好?在使用代码的英语模型上已经有相当成功的实现:编写网页元素的html代码,生成Figma模板。



尝试其他语言!Twitter等



教授模型的主要语言是俄语,但是可以将模型应用于多语言任务吗?网路上的训练样本总是有其他几种语言出现,所以很有希望。带有种子的简单方法表明该模型对英语模型有所了解: 嗯,几乎: 有时它根本不起作用: 为什么不对纯英语数据进行练习:我从Kaggle竞赛中获取twitter-text-classification数据集 在5千个第一批评论之后(在Colab中为20分钟),我们得到了可以忍受的非常有毒的英文评论:

ruGPT-3 Large:

—> cat

—> dog

—> pear

—> coder





—> cat

—> dog

—> pear

—> Python





—> cat

—> dog

—> pear

—> bunch #

—> dog

—> cat

—> dog



图片











Context >>> Is it

ruGPT-3 Small: Is it's the case that #Microsoft is using #SAP to manage #Microsoft’s business?



Context >>> It is

ruGPT-3 Small: It is the only one that I've been trying to do. Siri is on the verge of death, and I'm not aware of why she has to be on the verge.



Context >>> Why

ruGPT-3 Small: Why do I go here? I'm wondering if I can use the #Microsoft Windows 8 Pro for the #WindowsPhone phone? Thanks!



对话系统



在没有预训练的情况下,将模型应用于对话系统已经可以很好地工作:模型可以执行聊天功能(不讨论任何内容),可以自由讨论各种主题。通过对特定方案和领域的额外培训,您可以实施业务应用程序。

下面的示例是一个对话的示例,该对话未经培训,只针对一个狭窄的主题-Internet提供商支持。

播种:前两行-进一步的繁殖。 当然,在没有预训练的情况下,该模型对支持专家的脚本和脚本没有清晰的想法,但是,即使这样的冷启动也已经显示出``找出发生了什么-挂断-重定向呼叫''的标准方法。您可以记住经典:

User1: , ! ?

User2: .

User1: ?

User2: 500

User1: ?

User2: . .. .

User1: ?

User2: . , - ...

User1: , , , , ?

User2:

User1: , . , .

User2: , . .

User1: . , , .

User2: , , ?

User1: ?

User2: . .

User1: ?

User2:

User1: . .

User1: , . - .

User2: , .

User1:

User2:





User1: «», 656, , .

User2: , 766—1669, : , , , , , , ?

User1: 1 . , , .

User2: , , , - ?

User1: , 1 . , - , , , . .

User2: , , , , - .

User1: .

User2: , ?

User1: , , .

User2: , , .



通常,“您必须要有耐心”。该模型甚至还记得User1的名字是Dmitry,因此User2跟他说了再见。



而不是结论



为了继续发展生成模型的方向并改善NLP问题中的体系结构,始终有必要了解特定技术的适用范围及其相关性。



现在,随着类似体系结构的每个发行版-Reformer,Longformer,BigBird等。-我们以一种稍微新颖的方式看待大型的预训练模型,这给他们带来了新的挑战。



除上述情况外,ruGPT-3绝对可以应用在以下实践中并从中受益:



  • ML任务的文本数据扩充
  • 自动化对话模型
  • 生成求和任务
  • 基于结构化信息的重写,新闻生成,运动记录。


希望演示和模型可以使社区受益,而且很有趣!



而且,当然,我们正在等待您在ruGPT-3轨道上做出的决定,直到11月22日为止!



All Articles