Iceberg: Enhancing HLS Modeling with Synthetic Data

📄 arXiv: 2507.09948v2 📥 PDF

作者: Zijian Ding, Tung Nguyen, Weikai Li, Aditya Grover, Yizhou Sun, Jason Cong

分类: cs.LG, cs.AR

发布日期: 2025-07-14 (更新: 2025-07-19)

备注: 9 pages. accepted to ICLAD'25

🔗 代码/项目: GITHUB


💡 一句话要点

Iceberg:通过合成数据增强HLS建模,提升泛化能力

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 高层次综合 HLS 深度学习 合成数据 数据增强 元学习 硬件设计 性能预测

📋 核心要点

  1. 现有的基于深度学习的HLS预测模型在泛化性方面存在不足,难以适应新的硬件设计配置。
  2. Iceberg通过预训练LLM生成的合成数据和弱标签,增强模型对未见设计配置的泛化能力。
  3. 实验表明,Iceberg在多个真实世界的HLS应用中显著提高了建模精度和离线DSE性能。

📝 摘要(中文)

针对硬件设计高层次综合(HLS)的深度学习预测模型泛化能力不足的问题,本文提出Iceberg,一种合成数据增强方法。Iceberg通过预训练LLM生成的程序和未见设计配置的弱标签来弥补泛化差距。该弱标签生成方法与上下文模型架构集成,实现了从真实标签和近似标签的元学习。在少量样本的适应下,Iceberg将六个真实世界应用的几何平均建模精度提高了86.4%,并且在适应两个不同的测试数据集时,实现了2.47倍和1.12倍更好的离线DSE性能。代码已开源。

🔬 方法详解

问题定义:现有的基于深度学习的HLS性能预测模型,在面对新的、未见过的设计配置时,泛化能力较差。这是因为真实数据集往往规模有限,难以覆盖所有可能的设计空间。因此,模型容易过拟合训练数据,导致在新数据上的预测精度下降。

核心思路:Iceberg的核心思路是利用合成数据来增强模型的泛化能力。具体来说,它通过生成大量的合成HLS程序和对应的弱标签,来扩充训练数据集。这样,模型就可以学习到更通用的设计规律,从而提高在新数据上的预测精度。同时,利用元学习的思想,让模型能够从真实数据和合成数据中学习,从而更好地适应真实场景。

技术框架:Iceberg的整体框架包含以下几个主要模块:1) LLM程序生成器:使用大型语言模型(LLM)生成大量的合成HLS程序。2) 弱标签生成器:为生成的HLS程序生成对应的弱标签,这些标签可能不完全准确,但可以提供一定的指导信息。3) 上下文模型:使用上下文学习模型,将真实数据和合成数据结合起来进行训练。4) 元学习优化器:使用元学习优化器,使模型能够从真实数据和合成数据中学习,并快速适应新的设计配置。

关键创新:Iceberg的关键创新在于其合成数据增强方法,它能够有效地弥补真实数据集的不足,提高模型的泛化能力。具体来说,它结合了LLM程序生成、弱标签生成和上下文学习等技术,从而能够生成高质量的合成数据,并有效地利用这些数据来训练模型。此外,Iceberg还采用了元学习的思想,使模型能够快速适应新的设计配置。

关键设计:在LLM程序生成方面,Iceberg使用了预训练的CodeT5模型,并对其进行了微调,使其能够生成符合HLS规范的程序。在弱标签生成方面,Iceberg使用了基于规则的方法和基于模型的方法相结合的方式,以提高标签的准确性。在上下文模型方面,Iceberg使用了Transformer架构,并对其进行了改进,使其能够更好地处理HLS程序。在元学习优化器方面,Iceberg使用了MAML算法,并对其进行了改进,使其能够更好地适应HLS预测任务。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Iceberg在六个真实世界的HLS应用中,将几何平均建模精度提高了86.4%。在适应两个不同的测试数据集时,实现了2.47倍和1.12倍更好的离线DSE性能。这些结果表明,Iceberg能够有效地提高HLS性能预测的准确性,并改善硬件设计的效率。

🎯 应用场景

Iceberg的研究成果可以应用于各种需要进行HLS性能预测的场景,例如硬件加速器设计、嵌入式系统开发等。通过提高HLS性能预测的准确性,可以帮助工程师更快地找到最优的设计方案,从而缩短开发周期、降低开发成本,并提高硬件系统的性能。未来,该技术有望进一步推广到更广泛的硬件设计领域。

📄 摘要(原文)

Deep learning-based prediction models for High-Level Synthesis (HLS) of hardware designs often struggle to generalize. In this paper, we study how to close the generalizability gap of these models through pretraining on synthetic data and introduce Iceberg, a synthetic data augmentation approach that expands both large language model (LLM)-generated programs and weak labels of unseen design configurations. Our weak label generation method is integrated with an in-context model architecture, enabling meta-learning from actual and proximate labels. Iceberg improves the geometric mean modeling accuracy by $86.4\%$ when adapt to six real-world applications with few-shot examples and achieves a $2.47\times$ and a $1.12\times$ better offline DSE performance when adapting to two different test datasets. Our open-sourced code is here: https://github.com/UCLA-VAST/iceberg