BeamRL-TrainData
收藏资源简介:
BeamRL-TrainData 是一个合成的梁力学问答对数据集,用于通过可验证奖励信号的组相对策略优化(GRPO)训练 BeamPERL 模型。数据集包含 180 个独特的简支梁配置,每个配置通过符号计算解决,并配以自然语言问题和真实的反作用力答案。数据集详细记录了梁的长度、载荷类型、载荷位置等参数,并提供了剪切力、弯矩、斜率和挠度等分布数据。每个样本包含唯一的配置 ID、载荷位置、参数、坐标分布、力学分布数据及其极值点、梁段描述、外部反作用力、内部载荷表达式、旋转挠度表达式、自然语言问题及符号系数形式的答案。数据集适用于强化学习、结构工程和数学推理等任务。
BeamRL-TrainData 数据集概述
数据集基本信息
- 名称:BeamRL-TrainData
- 用途:用于通过具有可验证奖励信号的组相对策略优化(GRPO)训练 BeamPERL 模型的梁力学问答对合成数据集。
- 语言:英语
- 许可协议:apache-2.0
- 标签:强化学习、grpo、梁力学、结构工程、数学、推理、合成数据
- 任务类别:问答、文本生成
- 规模类别:n<1K
- 数据行数:180
数据内容详情
- 梁类型:简支梁(x=0处为铰支座,x=L处为滚轴支座)
- 荷载类型:单个向下的集中荷载
- 梁长度:
L、2*L、3*L - 集中荷载:
-P、-2*P、-3*P - 荷载位置:20个归一化位置(0.05 – 0.95 × L)
- 答案格式:符号系数,例如
["0.55P", "0.45P"]
数据列说明
| 列名 | 类型 | 描述 |
|---|---|---|
configuration_id |
int64 | 唯一行索引(0–179) |
load_position |
float64 | 沿梁的归一化荷载位置(0.0–1.0) |
parameters |
string | 符号荷载/长度类别标识符(9个类别) |
x_coordinates |
list[float] | 离散化的梁位置(100–200个点) |
shear_force |
list[float] | 沿梁的剪力分布 |
bending_moment |
list[float] | 沿梁的弯矩分布 |
slope |
list[float] | 沿梁的转角/斜率分布 |
deflection |
list[float] | 沿梁的挠度分布 |
shear_force_extrema |
string (JSON) | 剪力的局部极值和过零点 |
bending_moment_extrema |
string (JSON) | 弯矩的局部极值和过零点 |
slope_extrema |
string (JSON) | 斜率的局部极值和过零点 |
deflection_extrema |
string (JSON) | 挠度的局部极值和过零点 |
beam_points |
string (JSON) | 支座和荷载点描述 |
beam_segments |
string (JSON) | 分段材料和截面属性 |
exterior_reactions |
string (JSON) | 符号外部反力 |
internal_loads |
string (JSON) | 分段内剪力和弯矩表达式 |
rotation_deflection |
string (JSON) | 分段转角和挠度表达式 |
problem |
list[string] | 关于反力的自然语言问题 |
solution |
list[string] | 作为符号系数字符串的真实答案 |
生成过程
- 梁配置:使用自定义版本的 SymBeam 库,为每种长度、荷载大小和荷载位置的组合构建一个简支梁。
- 符号求解:SymBeam 对梁进行解析求解,生成反力、剪力、弯矩、斜率和挠度的精确符号表达式。
- 问题生成:大型语言模型从符号梁描述中生成自然语言问题,询问支座处的反力。
- 答案提取:真实答案从求解的反力中直接提取为符号系数字符串。
- 上传:最终数据集上传至 HuggingFace Hub。
使用方式
加载数据集
python from datasets import load_dataset ds = load_dataset("tphage/BeamRL-TrainData")
与 BeamPERL 训练一起使用
python from datasets import load_dataset from beamrl.utils import make_conv_for_grpo, SYSTEM_PROMPT ds = load_dataset("tphage/BeamRL-TrainData", split="train") examples = [make_conv_for_grpo(ex, SYSTEM_PROMPT) for ex in ds]
引用
bibtex @misc{hage2025beamperl, title={BeamPERL: Parameter-Efficient Reinforcement Learning for Verifiable Beam Mechanics Problem-Solving}, author={Tarjei P. Hage and Markus J. Buehler}, year={2025}, archivePrefix={arXiv}, primaryClass={cs.CL} }
致谢
数据集生成使用了作者修改的自定义版 SymBeam。训练框架基于 Tina 和 Open R1 构建。



