MachineLearningLM-7B-v1:革新表格数据学习范式,突破千样本上下文学习瓶颈

项目概述

【免费下载链接】MachineLearningLM-7B-v1 【免费下载链接】MachineLearningLM-7B-v1 项目地址: https://ai.gitcode.com/hf_mirrors/MachineLearningLM/MachineLearningLM-7B-v1

在大语言模型(LLM)领域,上下文学习能力一直是衡量模型性能的关键指标。然而,现有模型在处理超过100个上下文示例时往往表现出显著的性能衰减。为解决这一挑战,MachineLearningLM团队推出了基于Qwen2.5-7B架构深度优化的MachineLearningLM-7B-v1模型,通过在数百万个合成表格机器学习任务上进行持续预训练,实现了从8到1024个示例的高效扩展。该模型在未见过的表格任务上比o3-mini、GPT-5-mini和Qwen-2.5-7B-Instruct等主流模型提升约15%,同时达到随机森林级别的数值建模稳健性,MMLU得分达75.4%。相关研究成果已发表于论文《MachineLearningLM: Scaling Many-shot In-context Learning via Continued Pretraining》(arXiv:2509.06806),项目代码已开源至GitCode仓库。

评估验证体系

为确保模型性能的可靠性和可复现性,研究团队开发了一套自动化评估框架,用户只需设置相应参数即可轻松进行验证和评估。该框架支持多种运行模式,包括端到端流水线、并行处理和顺序处理,满足不同场景下的评估需求。

快速启动指南

首先安装必要的依赖包:

pip install -r requirements.txt

基础推理命令示例:

python ./src/evaluation/model_pred/dl_model_pred.py \
--input_dir ./demo_input.jsonl \
--output_dir ./demo_output.jsonl \
--model_name MachineLearningLM/MachineLearningLM-7B-v1

评估流水线设置

  1. 首先修改评估参数配置文件:
source evaluate_parameters.sh
  1. 选择适合的处理模式:

选项1:端到端流水线

./scripts/evaluate_pipeline.sh

选项2:并行处理(推荐用于大规模评估)

# 数据预处理
./scripts/multi_process/data_prep.sh
# 提示生成
./scripts/multi_process/prompt_gen.sh
# 深度学习模型推理(仅需深度学习评估时运行)
./scripts/multi_process/model_pred.sh
# 结果评估
./scripts/multi_process/evaluation.sh
# 报告生成
./scripts/multi_process/report.sh

选项3:顺序处理(适合资源有限环境)

# 数据预处理
./scripts/single_process/data_prep.sh
# 提示生成
./scripts/single_process/prompt_gen.sh
# 深度学习模型推理(仅需深度学习评估时运行)
./scripts/single_process/model_pred.sh
# 结果评估
./scripts/single_process/evaluation.sh
# 报告生成
./scripts/single_process/report.sh

完整使用说明和高级设置选项请参考项目GitCode仓库的详细文档。此外,QuantFactory已发布该模型的GGUF量化版本,用户可通过Hugging Face获取:https://huggingface.co/QuantFactory/MachineLearningLM-7B-v1-GGUF。

数据生成参数详解

MachineLearningLM模型的核心创新在于通过合成表格ML任务进行持续预训练,其数据生成过程由tabicl模块控制,关键参数定义于文件tabicl/src/tabicl/prior/dataset.py的注释中。这些参数可分为数据规模与结构、批次设置、序列长度控制、训练测试分割、生成方法和计算设置六大类。

数据规模与结构参数

参数名称类型描述
min_featuresint每个数据集的最小特征数量
max_featuresint每个数据集的最大特征数量
max_classesint目标类别的最大数量
min_seq_lenint每个数据集的最小样本数,若为None则使用max_seq_len
max_seq_lenint每个数据集的最大样本数(不包含)

批次设置参数

参数名称类型描述
batch_sizeint每批生成的数据集总数
batch_size_per_gpint每组(共享特征)的数据集数量
batch_size_per_subgpint每个子组(相似因果结构)的数据集数量,默认与batch_size_per_gp相同

序列长度控制参数

参数名称类型描述
log_seq_lenbool若为True,则从对数均匀分布中采样序列长度
seq_len_per_gpbool按组采样序列长度(支持可变大小的数据集)
replay_smallbool偶尔采样较小的序列以增强模型稳健性

训练测试分割参数

参数名称类型描述
min_train_sizeint/float训练集分割的起始位置/比例(int:绝对数量,float:相对比例)
max_train_sizeint/float训练集分割的结束位置/比例(int:绝对数量,float:相对比例)

生成方法参数

参数名称类型描述
prior_typestr先验类型:'mlp_scm'(多层感知机因果结构)、'tree_scm'(树结构因果模型)或'mix_scm'(随机选择)
fixed_hpdict固定的结构设置参数
sampled_hpdict生成过程中采样的参数

计算设置参数

参数名称类型描述
n_jobsint并行作业数量(-1表示使用所有处理器)
num_threads_per_generateint每个生成作业的线程数
devicestr计算设备('cpu'或'cuda')

模型训练流程

MachineLearningLM采用LLaMA-Factory框架进行训练,该框架支持多种预训练和微调策略,能够高效利用计算资源。以下是详细的训练环境设置步骤:

环境准备

首先进入LLaMA-Factory目录并安装依赖:

cd ./third_party/LLaMA-Factory
pip install -e ".[torch,metrics]" --no-build-isolation
pip install wandb

启动训练

使用提供的训练脚本开始模型训练:

./scripts/train.sh

该脚本支持自定义训练参数,包括学习率、训练轮数、批处理大小等,用户可根据硬件配置进行优化调整。训练过程中会自动记录关键指标到Weights & Biases平台,便于实时监控训练进度和模型性能变化。

项目结构解析

项目采用模块化设计,结构清晰,便于扩展和维护。核心目录结构如下:

MachineLearningLM/
├── src/                      # 源代码目录
│   ├── evaluation/           # 评估相关模块
│   │   ├── data_prep/        # 数据预处理和分块工具
│   │   ├── prompt_gen/       # 深度学习模型提示生成器
│   │   ├── model_pred/       # 模型推理(机器学习和深度学习预测引擎)
│   │   ├── result_proc/      # 五层评估架构和指标处理
│   │   ├── zero_summary/     # 结果汇总和报告生成
│   │   └── tabicl_evaluate.py # Tabicl专用评估脚本
│   └── prior_data            # 先验数据处理
│       └── pt_to_csv.py      # 将PyTorch张量转换为CSV格式
├── scripts/                  # 执行脚本目录
│   ├── single_process/       # 顺序执行shell脚本
│   ├── multi_process/        # 并行执行shell脚本(带_mp后缀)
│   ├── evaluate_parameters.sh # 全局参数配置文件
│   ├── evaluate_pipeline.sh  # 自动化流水线脚本
│   ├── generate_data.sh      # 数据生成脚本
│   ├── tabicl_evaluate.sh    # Tabicl评估脚本
│   └── train.sh              # 训练脚本
├── datahub_inputs/           # 数据输入目录
│   ├── data_demo/            # 测试用演示数据集
│   └── data_raw/             # 原始输入数据集
├── third_party/              # 第三方依赖
│   ├── tabicl/               # Tabicl库(因果结构模型生成)
│   └── LLaMA-Factory/        # LLaMA-Factory训练框架
├── requirements.txt          # 评估框架Python依赖
├── README.md                 # 项目说明文档(英文)
├── README_zh.md              # 项目说明文档(中文)
├── THIRD_PARTY_NOTICES.md    # 第三方通知
└── LICENSE                   # 许可证文件

模型技术规格

MachineLearningLM-7B-v1基于Qwen2.5-7B-Instruct模型进行持续预训练,模型大小约为8B参数,采用BF16张量类型存储,支持文本生成任务。模型使用的训练数据来自MachineLearningLM/machinelearninglm-scm-synthetic-tabularml数据集,该数据集包含427万个合成表格任务样本,涵盖多种数据分布和任务类型。模型文件采用Safetensors格式存储,确保数据安全和加载效率。

模型量化版本

为满足不同部署场景的需求,社区已发布多个量化版本,包括GGUF格式,可通过Hugging Face Hub获取。量化模型在保持核心性能的同时显著降低内存占用,适合在资源受限的设备上部署。

应用前景与未来展望

MachineLearningLM-7B-v1模型的推出,为表格数据的上下文学习提供了新的解决方案。其核心优势在于能够处理大规模上下文示例,同时保持对数值数据的高稳健性,这使得该模型在金融预测、医疗数据分析、市场趋势预测等领域具有广阔的应用前景。未来,研究团队计划从以下几个方向进行改进:

  1. 扩展模型规模至更大参数版本,进一步提升复杂任务处理能力;
  2. 增加多模态输入支持,实现表格数据与文本、图像等信息的融合处理;
  3. 优化推理效率,降低大规模上下文学习的计算成本;
  4. 开发专用微调工具,支持用户根据特定领域数据快速适配模型。

随着该技术的不断成熟,MachineLearningLM有望成为表格数据分析的重要工具,帮助企业和研究机构从海量数据中提取有价值的见解,推动数据驱动决策的普及和深化。

【免费下载链接】MachineLearningLM-7B-v1 【免费下载链接】MachineLearningLM-7B-v1 项目地址: https://ai.gitcode.com/hf_mirrors/MachineLearningLM/MachineLearningLM-7B-v1

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值