基于CNN的CMP仿真数据建模

Posted by 谢玄xx on September 8, 2024

1 模型开发背景

机器学习是一种基于数据驱动的人工智能(AI)技术,在各个领域都取得了显著的成果。在基于半导体DFM领域的仿真计算部分,传统的物理模型依赖于开发者结合实际的芯片生产场景,手动计算公式,编写代码规则和逻辑完成建模,但这种方法在处理复杂、不确定或高度变化的wafer data情况下存在较强的局限性。因此业界迫切需要一种只专注于输入/输出的高效模型,能更好地对给定的wafer data进行数值训练与预测,从而得到更为精准的计算结果。
机器学习的目标是使计算机能够从数据中学习,并根据过去的经验进行泛化和预测,而不需要明确的规则。机器学习模型的背后思想是利用大量的数据和特定的算法来训练模型,以从数据中发现模式和规律。这些模型可以通过预测、分类、聚类等任务来解决各种问题。机器学习模型的性能通常会随着数据量的增加而提高,因为更多的数据可以提供更准确的模式识别和推理。在近年来,随着计算能力的提升和大数据的广泛应用,机器学习模型的研究和应用得到了快速发展。深度学习是机器学习领域的一个重要分支,它利用人工神经网络模拟人脑的结构和功能,可以处理更复杂的任务并取得令人瞩目的成果。例如,在图像识别、语音识别、自然语言处理等领域,深度学习模型已经在准确性和效果上超越了传统方法。

2 模型I/O

机器学习NN模型为直接预测模型,并基于此模型进行预测/训练。

2.1 模型预测(Predictor部分)

Input
● 原始gds文件提取特征参数文件 ● 物理模型的工艺流程文件 ● 基于上述ers文件的物理模型仿真结果文件(仅获取仿真结果中的某个Label)
● 基于指标Surface_Height的最佳参数文件(.pt,当前仅支持一个)
● 机器学习预测模型所需超参数Batch_Size(仅影响模型预测速度,对仿真结果无影响)
Output
● 基于上述特征参数提取文件文件和仿真结果文件进行推理产生的预测结果文件

2.2 模型训练(Calibrator部分)

Input
● 原始gds文件特征参数提取文件中的4个几何特征 ● 物理模型的工艺流程文件 ● 和上述特征参数提取文件格点一致的chip真值数据 ● 基于上述特征参数提取文件的物理模型运行校准,产生的最佳结果文件(仅获取仿真结果中的某个Label)
● 基于上述最佳结果文件计算得到的label的均值和方差
● 基于指标Label的最佳参数文件(.pt,当前仅支持一个)
● 机器学习预测模型所需超参数:
○ Batch_Size(仅影响模型预测速度,对模型训练结果无影响)
○ Epoch_Num(模型训练迭代次数,影响模型训练精度)
○ Learn_Rate(模型参数变化幅度,影响模型训练精度)
Output
● 基于上两个文件(上述某个Label完全取自物理模型)进行推理产生的预测结果文件 ● 基于指标Label的最佳参数文件(.pt,当前仅支持一个)

3 模型详解

3.1 框架设计

3.1.1 整体架构概述

本文档描述了一个基于Libtorch的机器学习模型的整体架构。该架构旨在实现一个灵活且高效的机器学习系统,用于训练和推断深度神经网络模型。 机器学习的训练、推理过程,和物理模型的校准、仿真流程较为相似,因此将二者分别嵌入至Calibrator软件和Predictor软件中,没有开发独立的软件。 该架构基于Libtorch库提供的功能,可用于搭建和训练各种机器学习模型。通过既定的数据预处理、模型定义、训练和推断流程,用户可使用该功能完成真值数据的训练与仿真数据的预测,从而实现所需功能。

3.1.2 第三方库部署和维护

机器学习模型需要引入第三方库Libtorch. Libtorch是一个用于深度学习的C++库,它是PyTorch框架的C++版本。它提供了一套丰富的API和工具,使开发者能够在C++环境中构建、训练和部署深度神经网络模型。 引入第三方库需要确保开发/测试/客户服务器环境满足一定的需求。当前使用的Libtorch版本为v2.0.1(cpu),要求Linux系统的最低版本为CentOS7.4(待评估确认)。

3.1.3 安全性和性能考虑

//! todo

3.2 机器学习模型详解

3.2.1 模型结构


模型的输入为经过标准化后(标准化的mean和std为训练集的mean和std)的physics model 输出的predicted-label(对应修正模型)或者layout extraction result(对应直接预测模型)首先通过多个卷积层,BN层和relu激活函数提取特征,最后通过两个全连接层回归最终的predicted-label,其中BN层的作用是使模型训练更加稳定,防止梯度消失和梯度下降的问题,同时加快训练收敛。

3.2.2 模型训练细节

优化器:Adam优化器 data augmentation:random horizontal flip,random vertical flip,data random shuffle loss funtion:mse_loss 框架:libtorch, pytorch

4 模型流图

4.1 预测模型

4.2 训练模型