PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林5700万) • GEMM 通过优化内存局部性和向量指令,比朴素实现快 10 倍以上 GEMM • 优化 GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON V0 V1 ✕ ✕ ✕ ✕ V2 GEMM 例子 • 优化 GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON 原始算法 展开4x1 向量化 GEMM 例子 • 优化 GEMM GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON 原始算法 展开4x1 向量化 GEMM • 优化 GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON • 硬件加速 • Nvidia Volta 架构引入 tensor core • Intel AMX, Advanced Matrix Extension • ARM SME, Scalable 硬件指令支持 ARMv8.6 bf16 扩展 • bf16 扩展 • ARMv8.6 • 矩阵乘法指令 BFMMLA • 类型转换指令 BFCVT • BFMMLA • 128 bit 向量寄存器 • 单指令完成 (2x4) * (4x2) • 16 mul + 16 add 深度学习推理加速 • BF16 gemm 实现 • ARM Compute Library • OpenBLAS0 码力 | 24 页 | 4.00 MB | 1 年前3
1 藤井美娜 Python的NLP实战分享 如何实现合同风险预测模型 》等。 NLP基础 18% |############### | section1 收集语料 前处理 分词 向量化 机器学习模型 各种OUTPUT 语义解析 NLP基础 22% |################## | section1 收集语料 前处理 分词 向量化 机器学习模型 各种OUTPUT 语义解析 有时候会把语义分析的结果做成 feature,放进机器学习模型里。 |################### | section1 收集语料 前处理 分词 向量化 机器学习模型 语义解析 各种OUTPUT ※一般来说,把数据处理成countable的 形式之后做EDA。 NLP基础 28% |######################## | section1 收集语料 前处理 分词 向量化 机器学习模型 语义解析 各种OUTPUT 为什么要做EDA呢? ######################################## | section3 ROUGE RIBES word2vec TF-IDF 机器翻译的手法 神经网络 向量化的典型手法 $ from RIBES import RIBESevaluator $ ribes = RIBESevaluator() $ score = ribes.eval([target]0 码力 | 36 页 | 3.95 MB | 1 年前3
3 Python的NLP实战分享 如何实现合同风险预测模型 藤井美娜NLP基础 14% |########### | section1 收集语料 前处理 分词 向量化 (Vectorization) 机器学习模型 各种OUTPUT 语义解析 NLP基础 19% |################ | section1 收集语料 前处理 分词 向量化 机器学习模型 语义解析 有时候会把语义分析的结果feature, 放进机器学习模型里。 各种OUTPUT |################### | section1 收集语料 前处理 分词 向量化 机器学习模型 语义解析 各种OUTPUT ※一般来说,把数据处理成countabul的形式之后 做EDA。 EDA NLP基础 28% |######################## | section1 收集语料 前处理 分词 向量化 机器学习模型 语义解析 ※一般来说,把数据处理成countabul的形式之后 ######################################## | section3 ROUGE RIBES word2vec TF-IDF 机器翻译的手法 神经网络 向量化的典型手法 $ from RIBES import RIBESevaluator $ ribes = RIBESevaluator() $ score = ribes.eval([target]0 码力 | 33 页 | 1.67 MB | 1 年前3
Python的智能问答之路 张晓庆 gensim:训练word2vec • jieba:切词,统计生成PMI/TM词典 • difflib:调用SequenceMatcher生成edit-distance • fasttext:对词向量进行fine-tune,计算fasttext label • numpy:计算w2v cosine/fasttext cosine • wmd:计算wmd特征 • esim:计算lstm-esim特征 宝宝有点咳嗽怎么食疗 退黄疸用什么药 怎么能知道取货码 各个击破-迭代 • badcase分析 • 设计有效特征 Ø IDF加权 • 强化特征语义表示能力 Ø 词袋模型语义表示能力弱 Ø 预训练词向量能提升模型的语义表示能力 Ø 深度学习网络让句子产生交互,能进一步提升语义表 示能力 Ø 领域内数据fine-tune是有效的 • 拥抱业界新兴模型 Ø bert+MTL 方法 领域1 领域20 码力 | 28 页 | 2.60 MB | 1 年前3
Hello 算法 1.0.0b1 Python版二分查找。例如前文查字典的例子,我们可以将字典中的所有字按照拼音顺序存储在数组中,然后使用与日常 查纸质字典相同的“翻开中间,排除一半”的方式,来实现一个查电子字典的算法。 深度学习。神经网络中大量使用了向量、矩阵、张量之间的线性代数运算,这些数据都是以数组的形式构建 的。数组是神经网络编程中最常使用的数据结构。 4.2. 链表 � 引言 内存空间是所有程序的公共资源,排除已占用的内存,空闲内存往往是散落在内存各处的。我0 码力 | 178 页 | 14.67 MB | 1 年前3
Hello 算法 1.0.0b2 Python版二分查找。例如前文查字典的例子,我们可以将字典中的所有字按照拼音顺序存储在数组中,然后使用与日常 查纸质字典相同的“翻开中间,排除一半”的方式,来实现一个查电子字典的算法。 深度学习。神经网络中大量使用了向量、矩阵、张量之间的线性代数运算,这些数据都是以数组的形式构建 的。数组是神经网络编程中最常使用的数据结构。 4.2. 链表 � 引言 内存空间是所有程序的公共资源,排除已占用的内存,空闲内存往往是散落在内存各处的。我0 码力 | 186 页 | 15.69 MB | 1 年前3
Hello 算法 1.0.0b4 Python版系时,可以使用数组作为查找 表。例如,我们有一个字符到其 ASCII 码的映射,可以将字符的 ASCII 码值作为索引,对应的元素存 放在数组中的对应位置。 ‧ 机器学习:神经网络中大量使用了向量、矩阵、张量之间的线性代数运算,这些数据都是以数组的形式 构建的。数组是神经网络编程中最常使用的数据结构。 ‧ 数据结构实现:数组可以用于实现栈、队列、哈希表、堆、图等数据结构。例如,邻接矩阵是图的常见0 码力 | 329 页 | 27.34 MB | 1 年前3
Python 标准库参考指南 2.7.18 发布 2.7.18 math.cos(x) 返回 x 弧度的余弦值。 math.hypot(x, y) 返回欧几里德范数,sqrt(x*x + y*y) 。这是从原点到点 (x, y) 的向量长度。 math.sin(x) 返回 x 弧度的正弦值。 math.tan(x) 返回 x 弧度的正切值。 9.2.4 角度转换 math.degrees(x) 将角度 x 从弧度转换为度数。 0 turtle.goto(x, y=None) turtle.setpos(x, y=None) turtle.setposition(x, y=None) 参数 • x –一个数值或数值对/向量 • y –一个数值或 None 如果 y 为 None,x 应为一个表示坐标的数值对或Vec2D 类对象 (例如pos() 返回的对象). 海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。 的次数。第二个参数指定timeit() 的 number 参数。 注解: 从结果向量计算并报告平均值和标准差这些是很诱人的。但是,这不是很有用。在典型情 况下,最低值给出了机器运行给定代码段的速度的下限;结果向量中较高的值通常不是由 Python 的速度变化引起的,而是由于其他过程干扰你的计时准确性。所以结果的min() 可能是你应该感 兴趣的唯一数字。之后,你应该看看整个向量并应用常识而不是统计。 print_exc(file=None)0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 2.7.18 发布 2.7.18 math.cos(x) 返回 x 弧度的余弦值。 math.hypot(x, y) 返回欧几里德范数,sqrt(x*x + y*y) 。这是从原点到点 (x, y) 的向量长度。 math.sin(x) 返回 x 弧度的正弦值。 math.tan(x) 返回 x 弧度的正切值。 9.2.4 角度转换 math.degrees(x) 将角度 x 从弧度转换为度数。 0 turtle.goto(x, y=None) turtle.setpos(x, y=None) turtle.setposition(x, y=None) 参数 • x –一个数值或数值对/向量 • y –一个数值或 None 如果 y 为 None,x 应为一个表示坐标的数值对或Vec2D 类对象 (例如pos() 返回的对象). 海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。 的次数。第二个参数指定timeit() 的 number 参数。 注解: 从结果向量计算并报告平均值和标准差这些是很诱人的。但是,这不是很有用。在典型情 况下,最低值给出了机器运行给定代码段的速度的下限;结果向量中较高的值通常不是由 Python 的速度变化引起的,而是由于其他过程干扰你的计时准确性。所以结果的min() 可能是你应该感 兴趣的唯一数字。之后,你应该看看整个向量并应用常识而不是统计。 print_exc(file=None)0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 2.7.18 发布 2.7.18 math.cos(x) 返回 x 弧度的余弦值。 math.hypot(x, y) 返回欧几里德范数,sqrt(x*x + y*y) 。这是从原点到点 (x, y) 的向量长度。 math.sin(x) 返回 x 弧度的正弦值。 math.tan(x) 返回 x 弧度的正切值。 9.2.4 角度转换 math.degrees(x) 将角度 x 从弧度转换为度数。 0 turtle.goto(x, y=None) turtle.setpos(x, y=None) turtle.setposition(x, y=None) 参数 • x –一个数值或数值对/向量 • y –一个数值或 None 如果 y 为 None,x 应为一个表示坐标的数值对或Vec2D 类对象 (例如pos() 返回的对象). 海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。 的次数。第二个参数指定timeit() 的 number 参数。 注解: 从结果向量计算并报告平均值和标准差这些是很诱人的。但是,这不是很有用。在典型情 况下,最低值给出了机器运行给定代码段的速度的下限;结果向量中较高的值通常不是由 Python 的速度变化引起的,而是由于其他过程干扰你的计时准确性。所以结果的min() 可能是你应该感 兴趣的唯一数字。之后,你应该看看整个向量并应用常识而不是统计。 print_exc(file=None)0 码力 | 1552 页 | 7.42 MB | 9 月前3
共 32 条
- 1
- 2
- 3
- 4













