AI 大模型系统实战
Tyler
前亚马逊应用科学家,头部大厂 AIGC 算法技术负责人
6826 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 38 讲
结束语&结课测试 (2讲)
AI 大模型系统实战
15
15
1.0x
00:00/00:00
登录|注册

05|策略建模:为什么AI系统能够猜你所想?

你好,我是 Tyler。
今天我们要进入一个全新的章节——架构基础篇。上节课我们提到了,AIGC 系统是从 AIRC 系统演化而来的
这节课开始,我们一起来探索目前 AIRC 系统中已经成熟的一些范式。它不仅是 AI 大模型记忆增强和可信人工智能的重要组成部分,也是许多大模型系统设计范式的来源,相信学完这一讲,你对 AIGC 系统的核心工作会更加熟悉,后续的学习也会有的放矢。

AIRC 系统

AIRC 系统你应该已经很熟悉了,谷歌的搜索引擎、抖音的推荐系统,还有阿里妈妈的计算广告系统,这类系统的统称是“内容推荐系统(AIRC)”,它们已经渗透到了我们生活的方方面面。
但是,说起这类系统的架构,我们充其量只是借助 Netflix 的架构图,看到过它的一些外貌特征。而这个外形只是 AIRC 系统的冰山一角,并没有交代它的主要挑战和问题是什么。
所以跟着这样的架构图去建立系统,相当于跟着简笔画去学习如何素描,这是不太现实的。你看一下后面的图片就会明白了。
只有亲身经历过的人才知道,AI 系统的背后隐藏着无数的技术细节。从业务指标的建模到系统架构的设计,从数据的收集和处理,到算法的选型和实验,这里的每一个环节,都要精心地设计、不断地优化。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了AIRC系统在AI系统中的重要性以及其在电商系统中的应用。文章从AIRC系统的架构出发,介绍了策略建模在AI系统中的重要性。首先,指标建模的重要性以及在电商系统中通过排序算法提升GMV指标得到了阐述。其次,召回模块和排序模块在加速搜索结果展示和对召回结果进行精确排序方面的作用被详细介绍。此外,文章还涉及了控制算法和博弈算法在广告系统中的应用,以及风控模块在系统安全方面的重要性。通过本文的总结,读者可以快速了解AIRC系统的核心内容,以及策略建模在AI系统中的重要作用。整体而言,本文涵盖了AIRC系统的重要组成部分以及其在电商系统中的应用,为读者提供了对AI系统中策略建模的深入了解。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 大模型系统实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • 顾琪瑶
    1. 可以采用传统的搜索引擎的思路来做, 先将文档中的内容进行分词, 并为词项建立索引, 词项与文档号进行关联, 搜索时根据词项找到文档进行检索 2. 多路召回还是有不明白的地方, 是指使用多种不同的召回策略多对一批候选物料进行检索吗? 如果是的话, 那最后是否可以将候选的物料特征进行乘积, 最后做排序来选择? 延时控制的话可以考虑每个节点执行不动的召回策略再主节点进行合并排序

    作者回复: 你好,顾琪瑶! 回答得很好,第一题完全可以使用倒排索引。 第二题回答基本正确。你可以根据你对生活的观察来设置各种召回策略。比如,你可以用文件本身的特征(比如最近修改时间是周几)来建立倒排索引。如果今天是周一,你就可以通过倒排索引,召回历史修改时间是周一的文件。这种策略利用了你不同工作日的使用习惯,可以为你推荐更相关的文件。 还有许多其他的召回策略,你可以根据自己的需要进行设置。比如,你可以用文件的大小、创建时间、最近访问时间等特征来建立倒排索引。你也可以用文件的标题、内容、作者等信息来建立倒排索引。 设置好召回策略后,你便可根据当时的情景并行从多个倒排索引中召回文件,之后对多路结果归并,来提高召回的速度,在第 9 -10 课我们还会更详细地介绍这部分知识。

    2023-08-21归属地:上海
    9
  • GAC·DU
    # 多角度捕捉,合并组合推荐结果,关于性能使用了简单的倒排索引,还可以用并行和加权等方式提升性能,定期对多路召回算法的性能进行测试和评估,以识别潜在的性能问题并及时进行优化。 import time class FileRecommendationSystem: def __init__(self, file_database): self.file_database = file_database self.inverted_index = self.build_inverted_index(file_database) def build_inverted_index(self, file_database): inverted_index = {} for file_id, content in file_database.items(): words = content.split() for word in words: if word not in inverted_index: inverted_index[word] = [] inverted_index[word].append(file_id) return inverted_index def recall_by_query(self, query): query_words = query.split() potential_files = set() for word in query_words: if word in self.inverted_index: potential_files.update(self.inverted_index[word]) return potential_files def recommend_files(self, query, num_recommendations=10): recall_1 = self.recall_by_query(query) recall_2 = self.another_recall_algorithm(query) recall_3 = self.yet_another_recall_algorithm(query) merged_recall = recall_1 | recall_2 | recall_3 recommended_files = [] for file_id in merged_recall: recommended_files.append((file_id, self.file_database[file_id])) recommended_files.sort(key=lambda x: x[0]) return recommended_files[:num_recommendations] def another_recall_algorithm(self, query): return set([file_id for file_id, content in self.file_database.items() if "orange" in content]) def yet_another_recall_algorithm(self, query): return set([file_id for file_id, content in self.file_database.items() if "apple" in content])

    作者回复: 你好,GAC·DU!甚至代码都写出来了,很棒!那再送你一道课后附加题,如果要你把检索出的文件内容发给 LLM 让它对文件内容进行摘要,你有什么思路吗?

    2023-08-21归属地:北京
    2
    3
  • 极客雷
    你是谁?严重怀疑是AI回复评论,哈哈

    作者回复: 你好,极客雷!你可以用课程中提到过的模型攻击方法,测试一下我是不是机器人 :)

    2023-12-11归属地:广东
    1
  • Lucky+
    1. 文档预处理:这是第一步,需要将所有的文档读入程序,进行必要的预处理。预处理可能包括去除标点符号、数字、特殊字符等,转换所有的大写字母为小写,进行词干提取等。 2. 分词:将预处理后的文档进行分词,将每个文档分解为独立的词项(token)。 3. 建立倒排索引:倒排索引是信息检索中常用的数据结构,它将每个词项映射到出现该词项的文档列表。这样,当我们搜索一个词项时,就可以快速找到所有包含该词项的文档。 4. 查询处理:当用户输入查询时,程序需要将查询分词,并在倒排索引中查找每个词项。然后,系统可以通过一些策略(如布尔查询、向量空间模型等)来确定最相关的文档。 5. 结果返回:将搜索到的相关文档返回给用户。 6. 优化和更新:根据用户的反馈和使用情况,不断优化搜索算法,并定期更新倒排索引,以保持与文档库的同步。

    作者回复: 你好,Lucky!回答的很好,在后面的课程里期待你的持续留言!

    2023-09-04归属地:北京
  • 小耿
    请问老师,期望收益计算公示中的点击率、加购率和付款率是如何得到的?

    作者回复: 你好,小耿!点击率、加购率和付款率是通过深度学习模型预测得到的,在第6-9讲中将详细介绍相关建模方法。在接下来的课程中,也期待你的反馈。

    2023-08-24归属地:北京
  • lw
    2、拿我自己举例,我要使用哪个文件大概率是最近一周点击最多的文件或者是此刻前打开的文件,二个影响因素做个加权,本质是个概率的问题
    2023-10-10归属地:中国香港
    1
  • 张清荣
    AIGC 系统是从 AIRC 系统演化而来的? 上节课哪里提到了?
    2024-01-03归属地:黑龙江
  • 周晓英
    第二个问题的思路: 理解需求: 首先,我们需要理解用户的使用习惯和倾向,这可能包括分析用户的历史行为数据,例如他们以前打开过哪些文件,花费的时间等。 我们也需要了解文件的内容和结构,以及可能影响用户需求的其他因素(例如,时间、任务类型等)。 数据准备: 收集并准备必要的数据,包括用户行为历史数据和文件元数据。 可能还需要构建用户和文件的特征,以便机器学习模型能够理解。 多路召回策略: 基于内容的召回:分析文件的内容,找到与用户过去交互过的文件内容相似的文件。 基于协同过滤的召回:利用其他相似用户的行为来推荐可能的文件。 基于时间的召回:考虑文件的时间相关性,例如最近修改过或最近访问过的文件。 基于热门度的召回:根据文件的流行程度或访问频率进行推荐。 基于序列的召回:考虑用户的行为序列,例如他们通常会在打开一个文件后打开哪些文件。 合并与排名: 将从不同策略中获得的候选文件合并成一个候选集合。 使用一个排名模型(例如,学习排序模型)对候选文件进行排名,以确定最相关的文件。 优化性能: 为了确保在100ms内返回结果,可能需要优化召回和排名算法的性能,包括使用索引、减少模型复杂度和/或采用分布式计算等。
    2023-10-02归属地:美国
  • GAC·DU
    # coding:utf-8 # 数据准备 -> 分词处理 -> 建立倒排索引 -> 搜索处理 -> 排序 -> 返回结果 class InvertedIndex: def __init__(self): self.index = {} # 追加数据,做简单的分词处理 def add_document(self, doc_id, content): words = content.split(" ") for word in words: if word not in self.index: self.index[word] = [] if doc_id not in self.index[word]: self.index[word].append(doc_id) # 搜索处理,返回包含该单词的文档列表 def search(self, query): if query in self.index: return self.index[query] else: return [] index = InvertedIndex() # 准备追加数据 index.add_document(1, "apple banana") index.add_document(2, "banana orange") index.add_document(3, "apple apple apple") index.add_document(4, "苹果 香蕉 葡萄") index.add_document(5, "苹果 葡萄 葡萄 葡萄") # 搜索单词并返回包含该单词的文档列表 result = index.search("apple") print("Documents containing 'apple':", result) result = index.search("banana") print("Documents containing 'banana':", result) result = index.search("orange") print("Documents containing 'orange':", result) result = index.search("grape") print("Documents containing 'grape':", result) result = index.search("葡萄") print("Documents containing '葡萄':", result)
    2023-08-21归属地:北京
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部