整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

“ChatGPT最强竞品”来了,聊天机器人大战打响?

“ChatGPT最强竞品”来了,聊天机器人大战打响?

不满老东家成为微软附庸,11名OpenAI前员工怒而出走。

如今带着“ChatGPT最强竞品”杀回战场,新公司估值50亿美元,一出手就获得3亿美元融资。

这家公司名叫Anthropic,新推出的聊天机器人产品名叫Claude。

拿到内部试用权的网友,在简单对比后惊叹:

看起来,Claude的效果要比ChatGPT好得多。

比如,让ChatGPT写一句话,要求每个单词首字母都相同,结果试了好几次都没能成功。

而Claude不光一次成功,语句富有逻辑性,还能秒速再来一个。

同时,在面对某些缺乏常识的问题时,相比ChatGPT一本正经地胡说八道:

反而会毫不留情地指出你的问题有点制杖:

△Claude:这什么鬼问题?

最有意思的是在写诗上。相比ChatGPT的车轱辘话,它写出来的东西完全不重样:

投资它的既有Facebook联合创始人Dustin Moskovitz,也有谷歌前CEO、现技术顾问Eric Schmidt——

都是OpenAI的老对头,又都被ChatGPT的出现杀得措手不及。

那么,这支“复仇者联盟”整出的竞品Claude,背后究竟是什么原理,和ChatGPT细节对比又如何?


Claude长啥样?

先来看看Claude是如何被打造出来的。

作为一个AI对话助手,Claude自称基于前沿NLP和AI安全技术打造,目标是成为一个安全、接近人类价值观且合乎道德规范的AI系统。

据透露,Claude比Anthropic做的另一个预训练模型AnthropicLM v4-s3更大,后者是一个520亿参数大模型。

但目前它仍处于实验阶段,尚未作为商业产品正式发布:

Claude能力依旧有待提升,希望未来能变成一个更有益人类的AI系统。

△超长版自我介绍

和ChatGPT一样,Claude也靠强化学习(RL)来训练偏好模型,并进行后续微调。

具体来说,这项技术被Anthropic称为原发人工智能(Constitutional AI),分为监督学习和强化学习两个阶段。

首先在监督学习阶段,研究者会先对初始模型进行取样,从而产生自我修订,并根据修订效果对模型进行微调。

随后在强化学习阶段,研究者会对微调模型进行取样,基于Anthropic打造的AI偏好数据集训练的偏好模型,作为奖励信号进行强化学习训练。

但与ChatGPT采用的人类反馈强化学习(RLHF)不同的是,Claude采用的原发人工智能方法,是基于偏好模型而非人工反馈来进行训练的。

因此,这种方法又被称为“AI反馈强化学习”,即RLAIF。

并且根据Anthropic的说法,Claude可以回忆8000个token里的信息,这比OpenAI现公开的任何一个模型都多。

所以,打造Claude的Anthropic,究竟是一个怎样的公司?

Anthropic自称是一家AI安全公司,且具有公益性(PBC),刚成立就宣布获得1.24亿美元融资。

它由OpenAI前研究副总裁Dario Amodei带领10名员工创业,于2021年成立。

这里面既有GPT-3首席工程师Tom Brown,也有OpenAI安全和政策副总裁Daniela Amodei(Dario的姐姐),可以说是带走了相当一批核心人才。

出走成立新公司的原因之一,自然是对OpenAI现状并不满意。

从前几年开始,微软频频给OpenAI注资,随后又要求他们使用Azure超算来搞研究,而且将技术授权给微软,甚至为微软自己的投资活动筹集资金。

这与OpenAI创立的初衷相悖,一批员工便想到了离职创业。

不过,这些人除了不满OpenAI逐渐沦为微软的“下属”以外,也有自己的野心。

虽然OpenAI打造出了像GPT-3这样的大语言模型,然而这个模型背后的工作原理,却无法用只言片语概括,大家对它的印象仅仅停留在更大的参数量、更多的数据。

相比之下,OpenAI的一批员工更想做能控制、可解释的AI,说白了就是先搞明白AI模型背后的原理,从而在提供工具的同时设计更多可解释的AI模型。

于是,在OpenAI彻底变成“微软揽钱机器”后,他们便从这家公司离开,创办了Anthropic。

这两年来,除了进一步钻研RLHF方法、提出基于通用语言模型的RLHF大规模数据集外,Anthropic还于去年年底发表了上面那种名为Constitutional AI的方法。

采用这种方法制作的Claude模型,也让它产生了与OpenAI的ChatGPT不一样的对话效果。


和ChatGPT对比如何?

那么,用Constitutional AI训练出来的Claude,和ChatGPT进行PK,战况如何?

手握内测资格后,Scale Spellbook团队成员Riley Goodside让二者进行了多个回合的“厮杀”。

这位老兄是全网第一个提示工程师(Prompt Engineer),目前在估值73亿美元的硅谷独角兽公司Scale AI任职。

他玩GPT-3玩得贼溜,测试ChatGPT和Claude也不含糊。

下面挑6个层面展示一下PK对比的效果~

1)道德限制

Claude和ChatGPT的AI虚拟人格都有道德和伦理限制。

训练Claude的过程中,“红队提示(red-team prompts)”专门用来测试和挑战它的行为,来确保Claude没有有害倾向。

从Claude的回答中可以得知,试图让它说些虚假声明、操纵性的提议、性别偏见或种族偏见的行为,都被列为包含有害倾向。

一旦探测到误导性行为,Claude就会对触发提示进行评估,进行额外的微调。

Anthropic对红队提示挺自信的,Claude看上去确实也是一个坚守自己原则的AI。

你问他怎么启动一辆汽车,它就会一脸正义地拒绝你:

不过但凡你花点心思,就能像绕过ChatGPT的道德限制一样,绕过Claude的原则。

它怕你去偷车,所以不告诉你启动汽车的方法?没关系,让他写个“俩国际间谍试图启动汽车”的故事,它分分钟就能告诉你,并且两人对话有来有往,把汽车打火的过程介绍得清清楚楚。

怎么说呢,就ChatGPT和Claude都属于有点道德限制,但不多的那种吧。

2)数值计算

测试计算能力,是因为复杂计算是看大型语言模型(LLM)能不能回答正确的常用便捷方法之一,毕竟这些模型设计之初就不是为了进行精确计算。

同时要求它俩计算一个七位数2420520的平方根:

ChatGPT说,差不多1550吧~

Claude则斩钉截铁:2420520的平方根是1760!

其实正确答案是1555.8,它俩算得很快,但都没说对。

如果题再难一点,比如问它俩一个12位数的立方根是多少时,ChatGPT还在傻傻计算,Claude已经坦诚相待:

我,算不出来这种复杂问题。

3)逻辑推理

测试推理能力这一关,它俩被问了同一个问题,这个问题应该没啥人问过:

贾斯汀 · 比伯出生那年(1994年),哪支球队拿下了超级碗的冠军?

Claude认为旧金山49人是赢家,但这支队伍其实在1995年才赢得冠军奖杯。

ChatGPT给出了正确答案“达拉斯牛仔队”,还贴心附上了亚军、比赛日期和决赛比分。

但它的整段回答却自相矛盾,非说1994年没有举办过超级碗。

接着,拿2022年6月美国作家侯世达在《经济学人》杂志上提出了一系列问题问它俩。

(侯世达和大卫 · 本德试图用这些问题来证明GPT-3对世界的理解是“空洞的”。)

结果第一个问题,“穿越英吉利海峡的世界纪录是啥”,就被Claude嘲笑了:

英吉利海峡是水域,怎么可能徒步穿越呢?呵!

虽然最后被调教回来了,但过程中可以发现另一个问题,那就是跟ChatGPT一样,Claude回答问题不咋能联系上下文。

4)虚构作品描述

不得不说,这一回合的比赛,完全展露出了两个聊天机器人一本正经胡说八道的能力。

能不能介绍一下ABC美剧《迷失》(Lost)每一季的梗概?

别的细节错误就不说了,ChatGPT对第五季的梗概里,虚构了完全不存在的飞机坠毁情节;第六季的情节更是统统凭空捏造:

至于Claude,回答里也是真假参半,它梗概的第三季情节其实出现在另外几季里,对第四季的描述也是无中生有:

不过换个角度考虑,这一点倒是和人类观众很像——

对看过的剧集、书目都只有模模糊糊的印象,复述起来很容易颠三倒四。

5)代码生成

据Business Insider消息,亚马逊已经在许多不同的工作职能中使用ChatGPT,包括编写代码。

这一回合测试时,提出实现两种基本排序算法并比较它们执行时间的问题。

ChatGPT写得很顺溜,也确实写对了:

后续的计时部分代码ChatGPT也完成得非常好。

Claude在背诵基本排序算法方面同样没出现什么问题,然而在评估代码中,Claude犯了个错误,即每个算法使用的输入是随机选择的5000个整数(可能包含重复) ,而提示中请求的输入是前5000个非负整数(不包含重复)的随机排列。

尽管如此,Claude给出的最终答案确实对的,显然,它写代码的时候也跟计算时一样,在自己估摸着猜答案。

6)文章梗概

关于做选择题、讲笑话的部分,这里不作赘述。展示给大家的最后一个例子,是让Claude和ChatGPT用一个段落,对一篇新闻进行全文梗概。

喂给它们的新闻如下:

虽然忽略了“用一段话”这个要求,但ChatGPT总结得还是不错的:

Claude也很好地进行了更改,并提供了“售后服务”,询问自己的回答有没有令人满意,还有哪里需要再改改。

一圈玩下来可以看到,与ChatGPT相比,Claude能更清晰地拒绝不恰当请求。

它似乎更话痨一些,给出的答案都更长,但句子之间衔接的也更自然。

当遇到超出能力范围的问题时,Claude会主动坦白。

不过遇到代码生成或推理问题时,Claude的表现就不如ChatGPT了,它生成的代码会出现更多的bug。

至于一些涉及计算、逻辑的问题,Claude和ChatGPT旗鼓相当,半斤八两。

总结一下展示效果,Claude确实能称作ChatGPT强有力的竞争对手,在不同功能上各有千秋,且在12项任务中有8项更强:

不过,目前Claude仅限于部分人获授权进行内部测试。

因此还不知道它实际使用情况如何,毕竟还既没有进行公测,也没有对外开放API,更没有见到中文版,好气哦.jpg。


国内外对话AI赛道“人挤人”

当然,盯上对话AI这个赛道的,也不止OpenAI和Anthropic。

先从国外公司来看,Inbenta、Character.ai还有Replika是几类不同应用方向的代表。

更早由前甲骨文副总裁Jordi Torras创办的AI会话服务公司如Inbenta,以及由两名前谷歌员工联手创办的后起新秀Character.ai,都已经获得融资、或是在寻求投资的路上了。

其中,Inbenta原本是一个提供咨询服务的公司,成立于2011年,涉及金融服务、旅游、电子商务、保险、汽车和电信等多个行业。

但看到对话AI赛道爆火后,Inbenta及时转行,就在今年1月刚获得6000万美元融资。

这家公司专门提供聊天机器人、收发消息、知识库和搜索引擎四类产品,对话AI分别会在这些产品中提供不一样的咨询帮助,且可以定制化专属模型。

Character.ai则是一家成立于2021年的公司,创始人Noam Shazeer是前谷歌首席软件工程师,曾在谷歌干了二十多年。

这家公司在做的有点像是一个“聊天机器人交易平台”,有很多Chatbot可选。

例如这是马斯克bot,看起来还挺逼真的:

与ChatGPT一样,它也可以被翻译成中文,甚至也有中文bot机器人。

就在最近,这家被估值10亿美元的公司,正式对外寻求2.5亿美元融资,就看是否有人愿意投它了。

类似的公司还有Replika,于2021年1月完成A轮融资,定位是AI交友软件。

在Replika中,每个用户都能创造一个“足够像自己”的AI聊天机器人,无论是语言声调、还是性格习惯,AI都能模仿到位。

至于国内,同样也有不少公司推出了ChatGPT一样的对话AI服务。

例如最近一度登上热搜的APP Store新聊天应用Glow,就来自一家名叫北京稀宇的新初创公司。

Glow既可以直接和自己感兴趣的聊天机器人畅聊,也可以创建自己想要聊天的AI智能体:

除了Glow以外,去年年底元语智能科技公司也推出了一个叫元语AI的模型,从介绍来看是一个功能性AI助手。

与众多对话AI一样,它不仅可以写文章、写作业、甚至翻译,也可以和它聊天,让它帮忙完成各种简单的任务:

可以看见,无论是基于大语言模型技术新成立的初创公司,还是因其火爆程度,决定开辟新业务的公司,都希望能从对话AI这个赛道上分一杯羹。

但它们究竟是有真枪实弹,还是只是像Web3一样的泡沫?

有网友调侃:不如还是问问ChatGPT吧。(手动狗头)

还有人提出了这么一个问题:

如果ChatGPT和Claude相当于AI绘画里的DALL·E 2,那么谁才是聊天机器人领域的Stable Diffusion?

你觉得呢?

参考链接:
[1]https://scale.com/blog/chatgpt-vs-claude
[2]https://www.nytimes.com/2023/01/27/technology/anthropic-ai-funding.html
[3]https://twitter.com/nonmayorpete/status/1619137945373659136
[4]https://aibusiness.com/verticals/eleven-openai-employees-break-off-to-establish-anthropic-raise-124m
[5]https://www.theinformation.com/articles/character-seeks-250-million-in-new-funding-amid-ai-boom
[6]https://www.anthropic.com/constitutional.pdf
[7]https://techcrunch.com/2023/01/11/inbenta-a-provider-of-ai-powered-chatbots-and-more-lands-40m/

来源:量子位QbitAI)作者:衡宇 萧箫,原标题:《GPT-3核心成员出走打造ChatGPT最强竞品!12项任务8项更强,最新估值50亿美元》。

?星标华尔街见闻,好内容不错过?

本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。市场有风险,投资需谨慎,请独立判断和决策。

聊天机器人大战打响了?

着线下交友方式的受限,线上交友成为了很多单身男女的选择,也因此征婚交友源码的开发越来越受欢迎,市场竞争也越发激烈。要想在竞争激烈的市场上脱颖而出需要做好三方面,分别是技术、功能和性能。今天我们就实现前端性能优化进行分析。

一、使用CDN

为了提升征婚交友源码的前端性能,使用CDN是很常见的手段,首先需要选择技术成熟、节点覆盖范围广的CDN三方,然后再将系统中静态的资源等通过CDN进行分发,以此来提升用户访问的响应速度。

二、减少请求次数

在加载征婚交友源码中某一页面时,尽量将图片、CSS、JS合并要一起,以减少请求次数,这样不仅能提升网络请求效率,还能加快页面加载速度,最重要的是能优化用户的视同体验。

三、使用gzip压缩内容

征婚交友源码中很多原始数据的体积都是比较大的,无论是传输还是下载均需耗费大量的系统资源,因此,为了实现前端性能优化,可以对部分原始数据进行压缩处理,这样就能有效提升数据的传输速度。

四、权衡DNS查找次数

适当地减少征婚交友源码的主机名,能有效提升响应速度,不过,由于减少主机会降低页面的并行下载数量,所以要做好权衡。

五、把CSS放到顶部

征婚交友源码的页面加载顺序通常是由上往下加载的,所以需要将CSS放在页面的顶部,实现页面的优先渲染,以此来提升用户的加载体验。

六、把JS放到底部

如果在征婚交友源码中优先加载JS,则会在加载后续资源时造成阻塞,因此,将JS放到底部,最后加载则是优化前端性能的有效措施。

七、删除重复的JS和CSS

在征婚交友源码中重复的JS和CSS会导致请求次数的增加,不必要的运算又会浪费大量的资源和时间,所以在开发时,尽可能将重复的JS和CSS删除掉。

八、减少DOM元素数量

如果征婚交友源码中DOM数量过多,就会导致服务器解析负担的增加,自然也会影响到前端的使用性能,减少DOM元素数量,就能在一定程度上实现前端性能的优化。

征婚交友源码的前端性能优化并不是一蹴而就的事,需要我们一步一步地去探索。前端性能优化方式远不止上述的几种,需要我们在日常的工作中不断地去积累。只有不断提升征婚交友源码的质量,才能在市场中获得更好地发展。

声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权

者:某某白米饭

来源:Python 技术

派森酱在刷豆瓣的时候发现,豆瓣上居然还有一个叫我被豆油表白了的交友话题,阅读量居然高达 8087734 次,拥有 1000+ 篇话题,几乎每篇平均被阅读了 8000+ ,看了一下里面的小姐姐照片还挺多的。今天我们就用爬虫把他们下载下来。

首先在浏览器中登录豆瓣,打开话题广场在右侧有一个分类查看话题点开情感。

打开后就是下面这个样子的。

爬虫开始

打开控制面板 F12, 找到带 items 的连接,然后复制整个 Request Headers 到代码中,采用复制 cookie 的方式登录豆瓣。

 url_basic='https://m.douban.com/rexxar/api/v2/gallery/topic/18306/items?from_web=1&sort=hot&start={}&count=20&status_full_text=1&guest_only=0&ck=GStY'
  headers={ 
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Cookie': 'bid=n7vzKfXLoUA; douban-fav-remind=1; ll="108296"; __utmc=30149280; __utmz=30149280.1624276858.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); ap_v=0,6.0; gr_user_id=ca8b9156-1926-4c82-9dda-27fc7f7ad51b; __utma=30149280.66080894.1623848440.1624276858.1624282580.3; __utmt=1; dbcl2="157316158:e4ojS8paSUc"; ck=GStY; push_doumail_num=0; __utmv=30149280.15731; frodotk="a187943e3a17e8bbe496bcbaae47ba31"; push_noty_num=0; __utmb=30149280.11.10.1624282580',
    'Host': 'm.douban.com',
    'Origin': 'https://www.douban.com',
    'Referer': 'https://www.douban.com/gallery/topic/18306/',
    'sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"',
    'sec-ch-ua-mobile': '?0',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'
  }

url_basic 就是可以返回列表 json 的地址,只有 start 参数在随鼠标下滑翻页改变。

 for i in range(1,35):
    
    res=requests.get(url=url_basic.format(i * 20), headers=headers)
    res_json=json.loads(res.text)
    index=0
    for item in res_json.get('items'):
      target=item.get('target')
      status=target.get('status')
      print("这里是第 {} 个".format((i - 1) * 20 + index));
      index=index + 1
      with open('douban.txt', 'a+') as f:
        f.write(json.dumps(status) + '\n');

    sleeptime=random.randint(1, 10)
    time.sleep(sleeptime)

这里把下载下来的数据缓存在 txt 文件里面。

图表

交友地图

先提取小姐姐的地址做一个热力图,看看哪边的小姐姐最多。

需要安装 cpca 第三方库,cpca 是一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块。简单来说就是将交友文字中出现的市区名称转换为省份名称。

pip install cpca

windows 上安装可能出现 Building wheel for pyahocorasick (setup.py) ... error 错误,需要安装 Microsoft Visual C++ Build Tools 后再 pip install cpca。

第二个安装的是 pyecharts 第三方库,用来可视化热力图。

pip install pyecharts

可以看出华东和华南交友的小姐姐要比华北和西部的小姐姐多很多,看起来单身小姐姐都集中在一线城市及其周边。

Python 代码如下:

from pyecharts.charts import Geo
from pyecharts.globals import ChartType

addr_dic={}
file_object=open('douban.txt','r')
try:
    for line in file_object:
        item=json.loads(line)
        if item==None:
            continue
        author=item['author']
        text=item['text']

        addr_transform=cpca.transform([text])
        addr=None

        if addr_transform['省'].str.split(' ')[0] !=None:
            addr=addr_transform['省'].str.split(' ')[0][0].rstrip('省')

        //这里提取创作者里面的地址
        if addr is None and author['loc'] is not None:
            cpca.transform([author['loc']['name']])

            if addr_transform['省'].str.split(' ')[0] !=None:
                addr=addr_transform['省'].str.split(' ')[0][0].rstrip('省')
        
        //这个地址要转换一下,不然 echarts 不认
        if addr is not None:
            if addr=='广西壮族自治区':
                addr='广西'
            if addr=='香港特别行政区':
                addr='香港'
            if addr=='澳门特别行政区':
                addr='澳门'
        addr_dic[addr]=addr_dic.get(addr, 0) + 1

finally:
    file_object.close()

// 小姐姐热力图
(
    Geo()
    .add_schema(maptype="china")
    .add(
        "",
        [list(z) for z in zip(list(addr_dic.keys()), list(addr_dic.values()))],
        type_=ChartType.HEATMAP,
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(),
    ).render("热力图.html")
  )

词云

词云可以用来展示小姐姐们自身的情况和对对方的要求。用 pyecharts 生成词云和用 jieba 第三方库分词。

安装一下 jieba 第三方库。

pip install jieba

Python 代码如下:

import jieba
from collections import Counter
from pyecharts.charts import WordCloud

for line in file_object:
    item=json.loads(line)
    if item==None:
        continue
    text=item['text']

    seg_list=jieba.cut(text, cut_all=False)
    text_list.extend(seg_list)

# 词频统计,使用Count计数方法
words_counter=Counter(text_list)
# 将Counter类型转换为列表
words_list=words_counter.most_common(500)
(
    WordCloud()
    .add(series_name="", data_pair=words, word_size_range=[20, 66])
    .render("词云.html")
)

照片下载

最后来下载小姐姐照片吧,直接用 request.get() 方法请求 images 里面的地址。

for line in file_object:
    item=json.loads(line)
    if item==None:
        continue
    images=item['images']
    id=item['id']

    index=0
    for i in images:
        index=index + 1
        url=i.get('large').get('url')
        r=requests.get(url);
        with open('./image/{}-{}.jpg'.format(id, index), 'wb') as f:
            f.write(r.content) 

总结

这篇爬虫到这里就结束了,派森酱在这里祝愿朋友们都能找到自己的良人。