草庐IT

一直被大模型白嫖,怒改API规则:收费!

言征 2023-08-30 原文

​作者 | 言征

审校 | 千山

当地时间4月18日,知名社交媒体平台Reddit宣布将开始向过度使用其数据API的公司(虽然没有点名OpenAI、谷歌等)收费,此举似乎是为了改变免费为别人做嫁衣的局面:被用作大型语言模型的免费训练库。

1、事件回顾:停止免费

Reddit作为有着18年历史的新闻平台,用户可以在上面发帖、评论、交流各种话题。

Reddit说:“过去18年来,作为拥有最大在线人与人对话语料库之一的平台,我们有义务让我们的社区成为这些内容的管理者。”

为此,该公司宣布正在更新其各种开发工具和服务的使用条款,并将它们全部整合到一套开发人员条款中,包括其数据和广告API、嵌入条款等。据称这些条款将管理Reddit的所有开发人员服务。Reddit解释,这些是为了帮助开发人员通过允许访问Reddit上托管的帖子和其他信息来为Reddit用户构建应用程序和服务。

图源:reddithelp.com

值得注意的是,在Reddit数据API条款中的第三条,明确的提出了费用和使用限制的问题。该公司认为,除了商用用途以外,学术界、研究人员和“社交聆听工具”也使用它来访问Reddit数据,但有些人过度使用它。Reddit会保留访问API收费的权利,费率会由Reddit独家确定。

图源:reddithelp.com

至于具体的收费标准,Reddit还没有公布,但表示会分为不同的等级,根据使用者的规模和需求来区分。Reddit的一位发言人声称,它将在6月份分享更多关于在推出付费访问产品时如何授予许可和费用标准的信息。

2、创始人:现在是收紧政策的好时机

不可否认,Reddit作为优质的“大模型语料库”,自然被白嫖的几率非常大。

OpenAI的GPT系列,就使用了来自维基百科、图书馆、从Reddit帖子链接到的网页等的PB级信息。

虽然没有直接点名像谷歌和OpenAI这样的公司,但Reddit首席执行官兼联合创始人史蒂夫·霍夫曼,此前在一次外媒采访时就坦诚,Reddit“是进行真实对话的地方”,因此“Reddit的数据语料库非常有价值”。

“爬取Reddit,产生价值而不将任何价值返回给我们的用户是我们遇到的问题,”霍夫曼认为。“现在是我们收紧政策的好时机。我们认为这是公平的。”

果不其然,作为新条款的一部分,Reddit表示禁止“通过任何方式访问或使用Reddit服务和数据来训练大型语言、人工智能或其他算法模型”。

图源:reddithelp.com

在Reddit的帮助页面上,涵盖了Reddit开发人员工具的商业用途和费用,包括“出售对在Reddit上训练的模型的访问权”只有在获得许可的情况下才被允许,并且可能需要支付相关费用。

图源:reddithelp.com

Reddit没有提供任何线索来说明什么是“附加功能、更高的使用限制和更广泛的使用权限”,它表示这将是决定谁必须为数据API访问付费的因素,也没有提供任何线索关于这些第三方需要为特权付出多少。

3、矛盾的条款争议

更新的条款存在一个有趣的争议:内容归Redditor所有,但Reddit有权向合作伙伴提供用户的内容。

试图从近二十年的对话中抓取内容的行为,不在少数。Reddit更新其条款以“进一步 [澄清] 用户内容归在Reddit上创建和提交内容的redditor所有,未经许可不得使用”,这一点影响很大。

然而,Reddit的用户协议却也包括自己使用发帖人发布的内容的条款,包括“我们有权向与Reddit合作的其他公司、组织或个人提供您的内容。” 如果想要访问数据的一方获得了Reddit的许可,那么内容所有权是否是一个问题,就变得有点模糊了。

4、对于开发者的影响:速率限制

当被问及开发者在被要求付费之前,会考虑什么样的使用门槛时,Reddit表示,它始终对其API使用设置了速率限制。Reddit尚未透露下一步的限制计划,但GitHub文档最后一次更新是在2015年,表明它是每个客户端每分钟60个请求,没有提到批量限制。

Reddit的发言人透露,该公司在执行API使用限制或为限制增加的更高一级的“清理空间”方面,一直不太擅长。

Reddit表示,新规则不出意外的话将于6月19日生效。截至目前,数据API仍然可以免费访问通过Reddit开发者平台的适当用例。

5、拔出萝卜带出泥用于训练的数据版权纠纷

数据是新时代的石油,大模型就是将油加工成高级产品的炼丹炉。只不过这“石油”的归属和使用,却存在太多的争议空间。

首先是训练数据侵犯了用户和企业的版权。

此前,在文生图领域大火的Midjourney和Stability AI,因将它们的工具用于网络抓取的图像而被指控侵犯了数百万艺术家的权利,面临法律诉讼。

同样,库存图片供应商也对白嫖行为发起反击。据悉Getty Images已将Stability AI单独告上法庭,指控其未经许可使用其网站上数百万张图片来训练艺术生成模型Stable Diffusion。

不打招呼,就偷用了艺术家和平台的版权图片,被起诉在所难免。但是这些公司认为,他们已经重新利用人们的图像来创造新的东西并且这是对数据的合理使用。“请注意,我们会认真对待这些问题。任何认为这不是合理使用的人都不了解这项技术并且误解了法律,”Stability AI的一位发言人如是说。

其次,生成式AI的输出也有风险:大模型本身倾向于使用其他来源的图像和文本,包括版权内容(输入决定输出)。一些图像托管平台已经禁止使用AI生成的内容,因为他们担心会引起法律纠纷。

专家警告说,如果企业无意中将生成的AI工具所生成的受版权保护的内容,纳入他们销售的任何产品中,这些企业可能会面临风险。

不过,业内有一个可以借鉴的方案,就是Adobe Firefly。同样是生成式AI模型,它仅使用公司的免版税媒体库Adobe Stock,以及经过版权公开授权和公共领域内容,训练Firefly模型。

同时,未来用户将能够使用自己的内容训练和微调Firefly模型,使其输出具有特定的风格和设计语言。

而且,Adobe似乎在去年8月更新了其内容分析政策,并表示不会访问存储在用户设备本地的内容。

6、写在最后

树欲静而风不止。尽管OpenAI创始人阿尔特曼近日说大模型时代迎来终结,但大模型给社会带来的影响才刚刚凸显。此次Reddit突然要向生成式AI大模型收数据费,也将不会是个例。

不管是对话聊天,还是文生图,保管数据的平台都不得不卷入这场“生态战”。版权、隐私、报酬、安全等都是这场战斗的重要议题。​

有关一直被大模型白嫖,怒改API规则:收费!的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  3. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  4. ruby-on-rails - 如何验证非模型(甚至非对象)字段 - 2

    我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss

  5. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  6. ruby-on-rails - 如何将验证与模型分开 - 2

    我有一些非常大的模型,我必须将它们迁移到最新版本的Rails。这些模型有相当多的验证(User有大约50个验证)。是否可以将所有这些验证移动到另一个文件中?说app/models/validations/user_validations.rb。如果可以,有人可以提供示例吗? 最佳答案 您可以为此使用关注点:#app/models/validations/user_validations.rbrequire'active_support/concern'moduleUserValidationsextendActiveSupport:

  7. ruby-on-rails - Rails 模型——非持久类成员或属性? - 2

    对于Rails模型,是否可以/建议让一个类的成员不持久保存到数据库中?我想将用户最后选择的类型存储在session变量中。由于我无法从我的模型中设置session变量,我想将值存储在一个“虚拟”类成员中,该成员只是将值传递回Controller。你能有这样的类(class)成员吗? 最佳答案 将非持久属性添加到Rails模型就像任何其他Ruby类一样:classUser扩展解释:在Ruby中,所有实例变量都是私有(private)的,不需要在赋值前定义。attr_accessor创建一个setter和getter方法:classUs

  8. ruby-on-rails - Rails - 从另一个模型中创建一个模型的实例 - 2

    我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案

  9. ruby-on-rails - Ruby 中的内存模型 - 2

    ruby如何管理内存。例如:如果我们在执行过程中采用C程序,则以下是内存模型。类似于这个ruby如何处理内存。C:__________________|||stack|||------------------||||------------------|||||Heap|||||__________________|||data|__________________|text|__________________Ruby:? 最佳答案 Ruby中没有“内存”这样的东西。Class#allocate分配一个对象并返回该对象。这就是程序

  10. ruby-on-rails - ActionController::RoutingError: 未初始化常量 Api::V1::ApiController - 2

    我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc

随机推荐