分类目录归档:学习

GLUE 通用语言理解评估

GLUE(General Language Understanding Evaluation,通用语言理解评估)是一种常用的评估工具,用于评估 NLP 模型在一系列任务上的有效性。

GLUE 基准测试由纽约大学和谷歌的研究人员开发的。开发 GLUE 的动机是需要一个全面的 NLP 模型评估框架,该框架测试语言理解的不同方面并提供更完整的描述

官网为: https://gluebenchmark.com/

GLUE 共包含 3 个分类 9 个任务:

  • 单句任务包括 CoLA、SST-2
  • 相似性任务包括 MRPC、STS-B、QQP
  • 语音理解任务包括 MNLI、QNLI、RTE、WNLI

Read more

上下文无关语法 CFG

上下文无关文法(context-free grammar,CFG):

  • CFG 是一种形式语言的描述方式,用于描述一类语言结构,其中语言中的句子可以被分解为符号串,这些符号串是由一组规则递归定义的
  • 上下文无关文法重要的原因在于它们拥有足够强的表达力来表示大多数程序设计语言的语法;实际上,几乎所有程序设计语言都是通过上下文无关文法来定义的。
  • 另一方面,上下文无关文法又足够简单,使得我们可以构造有效的分析算法来检验一个给定字符串是否是由某个上下文无关文法产生的

CFG的形式化定义可以表示为一个四元组 $G=(V,T,P,S)$

  • 其中 $V$ 是非终结符号(即可以继续分解的符号)的集合,$T

Read more

特征选择

1 常见特征选择方法

特征评价指标:信息准则类指标

常用特征选择方法:

  • 基于正则惩罚的特征选择(比如Lasso 回归
  • 删除方差特别低的特征(sklearn.feature_selection.VarianceThreshold
  • 删除高相关性的特征(比如计算皮尔逊相关系数矩阵)
  • 单变量特征选择(互信息、方差分析、卡方检验)
  • 基于评价方法的贪婪特征选择(前向/后向搜索)
  • 基于特征重要性的选择(集成树模型、SHAP分析)

2 Relief 特征选择法

Relief(relative features)是一种处理二分类问题的常用特征选

Read more

Python 管理版本和包

1 pip 官方包管理工具

官方文档

常用指令:

pip install sampleproject
pip install sampleproject==1.0.4 # 指定版本
pip install 'SomePackage>=

Read more

Streamlit-Extras 第三方组件

steamlit-extras是一个 Python 库,汇集了很多有用的 Streamlit 代码

官方文档

功能概述(部分):

  • add_vertical_space:增加空白行,常用于调整布局
  • altex:快速制作 Streamlit 图表,API 简单实用
  • annotated_text:文本显示格式优化(高亮、注释、文本框)
  • app_logo:在目录左上角显示指定的 LOGO
  • badge:创建自定义徽章(比如 PyPI, GitHub, Twitter, Buy Me a Coffee)
  • colored_header:标题美化,显示带有彩色下划线/添加标题说明
  • center_runn

Read more

SWE-BENCH:2294 个 GitHub 真实问题

随着 AI 模型的能力提升,人类需要一些更有趣的测试集来刁难他们~

GAIA:466个精心设计的问题和答案

SWE-BENCH:2294 个 GitHub 真实问题

项目地址

SWE-bench 是一个在现实软件工程(GitHub)环境中评估 LMs 的基准

  • 模型的任务是解决提交到流行 GitHub 项目的问题(通常是错误报告或功能请求)
  • 每个任务的解决方案都会生成一个 PR,描述要应用于现有代码库的更改
  • 最后,使用当前 GitHub 项目的测试框架评估修改后的代码

SWE-ben

Read more

GAIA:466个精心设计的问题和答案

GAIA 基准测试保留了 300 个问题用来构建 AI 模型的排名

  • GAIA 设计的问题对人类来说简直轻而易举,而对大多数 A 来说却很有挑战性
  • 即,人类回答准确率为 92%,而用上插件的 GPT-4 回答准确率仅为 15%
  • GAIA 设计的问题需要 AI 模型具备推理、多模态处理或工具使用熟练程度等基本能力

GAIA 的设计原则(原始论文):

  1. 概念上简单但多样化(对人类来说比较乏味,考验 AI 的快速适应力)
  2. 可解释性;让用户很容易理解模型的推理轨迹
  3. 对记忆的鲁棒性;计划并成功地完成一些步骤
  4. 易用性;问题的答案是简洁和明确的事实

GAIA 的问题示例:

  • 一级问题:最多只需要一

Read more

向量数据库

1 向量数据库概述

“向量数据”:向量数据是由多个数值组成的序列,可以表示数据的大小和方向

向量数据库是一种专门用于存储和查询向量数据的数据库系统,

  • 与传统数据库相比,向量数据库使用向量化计算,能够高速地处理大规模的复杂数据
  • 可以处理高维数据,例如图像、音频和视频等,解决传统关系型数据库中的痛点
  • 支持复杂的查询操作,也可以轻松地扩展到多个节点,以处理更大规模的数据

Read more

Python 常用技巧

1 清理 PIP 缓存

# Credits: https://linuxhandbook.com/clear-pip-cache/
pip cache info # 查看缓存信息
pip cache list # 查找各个包的缓存
pip cache dir # 查找缓存所在的目录
pip cache remove [package_name] # 从缓存中删除特定包
pip cache remove * # 从缓存中删除每个包
pip cac

Read more

Streamlit 官方文档

1 基本介绍

Streamlit 是一个 Python 库,能够用于使用 Python 创建可交互的、数据驱动的网页应用

pip install streamlit # 安装
streamlit hello # 测试安装是否成功

启动命令:streamlit run your_script.py [-- script args]

快速上手:Streamlit 快速上手

官方文档 - 完整API参考 官方文档 - 常见故障排查

常用技巧:

  • 点击页面右上角配置”始终重新运行“,这样代码修改后页面会自动更新
  • 针对计算量大的函数可添

Read more