赞
踩
公司业务需要一套可离线部署的检索增强生成(RAG)大模型知识库,于是最近花了一周时间了解了AI相关的技术。除了查阅各类高质量技术博客,也自行动手进行了一些demo样例。其中包括huggingface、modelscope等平台,虽能使用,但疑惑还是不少,仅在此记录一些学习中的过程和问题,以便日后自我查阅。
对于机器学习方面的初学者来说,预处理对象、模型对象和 pipeline 是经常见到的,尤其是写过一些demo,它们在数据处理、模型训练和预测等过程中起着重要作用。很多时候官方概念可能难以理解,以下是个人经过查阅资料后,解释这些概念及其作用。
下面会根据部分Demo代码案例说明。
对原始数据进行处理和转换的工具或方法,以便将数据转换为适合模型输入的格式。简单的说就是对数据进行预处理,处理成模型所需要的输入格式,例如将文本转化为输入 ID 和其他必要的张量。常见的一些预处理如下:
from sklearn.preprocessing import StandardScaler
# 创建预处理对象
scaler = StandardScaler()# 适配数据并进行转换
X_train_scaled = scaler.fit_transform(X_train)
模型对象是由特定的算法和参数组成,经过训练后能够进行预测或分类。模型对象通常包括以下部分:
接上述示例一
from sklearn.linear_model import LogisticRegression
# 创建模型对象
model = LogisticRegression()# 训练模型
model.fit(X_train_scaled, y_train)
将多个数据处理步骤和模型训练步骤串联起来,以便简化和自动化整个工作流程。它将数据预处理和模型训练过程结合在一起,使得整个过程可以作为一个单独的工作流来处理。简单的说就是将多个步骤封装在一起,使用者无需关注细节,一个高级API。
一个完整的pipeline一般包括了数据的前处理、模型的前向推理、数据的后处理三个过程。
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression# 创建 pipeline 对象
pipe
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。