Method and electronic device for training an optical proximity correction model

By employing a weighted random strategy and a dynamically updated training subset selection method, the problems of high computational cost and low iteration efficiency in optical proximity correction model training are solved, thereby shortening the model training time and improving accuracy.

CN122287393APending Publication Date: 2026-06-26QUANXIN INTELLIGENT MFG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610737466.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-26
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing optical proximity correction models suffer from high computational cost and low iteration efficiency during training. In particular, the computational cost is too high in the first iteration, affecting modeling efficiency. Furthermore, the coverage of measurement points is low in subsequent iterations, which affects the prediction accuracy of the model.

Method used

A weighted random strategy is adopted to select a training subset from multiple data points. By dynamically updating the index values, representative data points are selected for model training. In each iteration, the index values ​​of unselected data points are decayed. Combined with a parallel training mechanism, the model training process is optimized.

Benefits of technology

It significantly reduces model training time while improving model training efficiency and accuracy. The dynamically updated training subset stabilizes the maximum translation sensitivity value, ensuring the controllability of model accuracy and computational cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122287393A_ABST
    Figure CN122287393A_ABST
Patent Text Reader

Abstract

This disclosure relates to a method and electronic device for training an optical proximity correction model. The method includes: selecting a first number of data points as a training subset from a plurality of data points corresponding to measurement points in a layout, using a weighted random strategy, based on multiple index values ​​of the data points; generating updated index values ​​of the data points based on training the model using the training subset; selecting the first number of data points as an updated training subset based on the updated index values ​​of the data points using the weighted random strategy; and performing subsequent iterative training on the model based on the updated training subset. The method of this disclosure can effectively improve the training efficiency of the optical proximity correction model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure primarily relate to the field of semiconductor devices, and more specifically, to methods for training optical proximity correction models, electronic devices, and computer-readable storage media. Background Technology

[0002] In current Optical Proximity Correction (OPC) modeling, the sampled signals are discrete data, and the signal values ​​between sampled points are fitted using interpolation algorithms. Therefore, in most cases, the signal values ​​of polygon edges are fitted using interpolation calculations. For identical measurement points, differences in the distance between sampled points or the number of sampled points can lead to differences in the interpolated signal values, resulting in differences in the calculated CD (Cutoff Value). The maximum value of this difference is called the Shift Variance (SV). A smaller SV value indicates a more stable fitted signal, meaning a more stable model. Therefore, the SV value is one of the important indicators for evaluating model stability and the consistency of calculation results. Typically, during the modeling process, the SV value is used as part of the loss function, providing a basis for judging whether the current model meets expectations. Therefore, unsuitable models can be filtered out using the SV value.

[0003] Current regression iterations used for training optical proximity correction models suffer from drawbacks such as high computational cost and low iteration efficiency. Summary of the Invention

[0004] The purpose of this disclosure is to provide a method, electronic device, and computer-readable storage medium for training an optical proximity correction model, in order to at least partially solve the aforementioned problems created in the prior art. In a first aspect of this disclosure, a method for training an optical proximity correction model is provided. The method includes: selecting a first number of data points as a training subset from a plurality of data points corresponding to measurement points in a layout, using a weighted random strategy, based on a plurality of index values; generating updated index values ​​for the plurality of data points based on training the model using the training subset; selecting the first number of data points as an updated training subset based on the updated index values ​​using the weighted random strategy; and performing subsequent iterative training on the model based on the updated training subset. The method of this disclosure can effectively improve the training of optical proximity correction models. In a second aspect of this disclosure, an electronic device is provided. The electronic device includes a processor and a memory coupled to the processor, the memory having instructions stored therein, which, when executed by the processor, cause the electronic device to perform actions. The actions include: selecting a first number of data points as a training subset from a plurality of data points corresponding to measurement points in a layout, using a weighted random strategy; generating updated values ​​of the plurality of metrics for the plurality of data points based on training the model using the training subset; selecting the first number of data points as an updated training subset based on the updated values ​​of the plurality of metrics using the weighted random strategy; and performing subsequent iterative training on the model based on the updated training subset. The electronic device of this disclosure can effectively improve the training of optical proximity correction models. In some embodiments, the plurality of index values ​​includes a first index value and a second index value, wherein the first index value indicates the translation sensitivity of the corresponding data point, and the second index value indicates the cost of the model corresponding to the corresponding data point. The first index value for each data point has the same initial negative value; and the second index value for each data point has the same initial zero value. In some embodiments, selecting a first number of data points as a training subset from the plurality of data points using a weighted random strategy includes: selecting at least one first data point from the plurality of data points based on a preset selection ratio and the magnitude of each of the first indicator values; and selecting a plurality of second data points from the plurality of data points using a weighted random strategy according to the first indicator values; wherein the training subset is composed of the at least one first data point and the plurality of second data points. In some embodiments, selecting at least one first data point from the plurality of data points based on a preset selection ratio and the magnitude of each of the first indicator values ​​includes: selecting a predetermined number of data points with the largest first indicator value as the at least one first data point. In some embodiments, selecting a plurality of second data points includes: selecting a data point from the plurality of data points that is different from the first data point; and applying the weighted random strategy to the selected data point to select the second data point. In some embodiments, performing the weighted random strategy on the selected data points to select the second data point includes: determining the corresponding weight of each data point based on the first index value of each data point; generating a random number based on the corresponding weight; and determining the second data point based on the random number. In some embodiments, performing the weighted random strategy on the selected data points to select the second data point further includes: using the absolute value of a first indicator value of each of the plurality of data points as the original weight of the data point; normalizing the original weights of all data points in the plurality of data points to obtain the selection probability of each data point; determining the cumulative probability interval of each data point based on the selection probability; generating a random number between 0 and 1; and selecting the corresponding data point as the second data point according to the cumulative probability interval into which the random number falls. In some embodiments, the action further includes: repeatedly performing the operations of generating the random number and selecting the corresponding data point until a predetermined number of second data points are selected.

[0005] In some embodiments, the action further includes: training multiple models in parallel; when the same data point is detected to be selected by multiple models in the same iteration of the model training, performing the following operations: comparing the second index values ​​calculated by the multiple models for the same data point; determining the model with the smallest second index value; and updating the first index value of the data point using the first index value calculated by the model with the smallest second index value. In some embodiments, the action further includes a decay step: after each iteration of the model training, the plurality of metric values ​​of the data points that were not selected into the training subset are decayed. In some embodiments, the method is executed at the client, wherein: the training subset is selected based on the plurality of metric values ​​obtained from the server; model training is performed; updated plurality of metric values ​​and updated training subset are generated; and after each iteration of model training, the updated plurality of metric values ​​are sent to the server to update the plurality of metric values ​​of the plurality of data points.

[0006] In a third aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to a first aspect of this disclosure.

[0007] The scheme using embodiments of this disclosure can predict the maximum SV value. Furthermore, since the SV value and training dataset according to the scheme of this disclosure are dynamically updated, the estimate of the maximum SV value will also tend to stabilize as the model converges. Moreover, the scheme using embodiments of this disclosure allows the accuracy of the trained model to remain substantially unchanged, while reducing iterative training time.

[0008] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements.

[0010] Figure 1 A schematic diagram of an example environment in which several embodiments of the present disclosure can be implemented is shown.

[0011] Figure 2 The illustration shows a flowchart of a method for training an optical proximity correction model according to some embodiments of the present disclosure.

[0012] Figure 3 The illustration shows a flowchart of a method for training an optical proximity correction model according to some embodiments of the present disclosure.

[0013] Figure 4A The illustration shows a flowchart of a method for training an optical proximity correction model according to some embodiments of the present disclosure.

[0014] Figure 4B A schematic diagram illustrating the selection of data points according to an embodiment of the present disclosure is shown.

[0015] Figure 5 The illustration shows a flowchart of a method for training an optical proximity correction model according to some embodiments of the present disclosure.

[0016] Figure 6 A block diagram of a computing device capable of implementing several embodiments of the present disclosure is shown. Detailed Implementation

[0017] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0018] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0019] Current methods for training models for optical proximity correction require each model to calculate its SV value in the first iteration, resulting in high computational cost, wasted resources, and significant time consumption. Specifically, the first iteration needs to calculate the SV value for all measurement points. If the number of measurement points is too large, the first iteration will take too long, severely impacting modeling efficiency. Furthermore, if all models select the same measurement locations in one iteration, the low coverage may affect the model's prediction accuracy. Moreover, in subsequent iterations, each model selects the same measurement points, and the low coverage further impacts model accuracy.

[0020] Therefore, an improved scheme is needed to enhance the performance of model training for optical proximity correction.

[0021] According to embodiments of this disclosure, a method for training an optical proximity correction model is provided. The method includes: selecting a first number of data points as a training subset from a plurality of data points corresponding to measurement points in a layout using a weighted random strategy, based on a plurality of index values ​​of the data points; generating updated index values ​​of the data points based on training the model using the training subset; selecting the first number of data points as an updated training subset based on the updated index values ​​of the data points using the weighted random strategy; and performing subsequent iterative training on the model based on the updated training subset.

[0022] In some embodiments of this disclosure, starting from the first iteration, a subset of representative measurement points are selected to calculate the corresponding index values ​​(e.g., SV values). This effectively reduces computation time while ensuring model accuracy, which is of great significance for improving the performance of lithography modeling.

[0023] Some embodiments of this disclosure can effectively improve the training efficiency and accuracy of optical proximity correction models.

[0024] In some embodiments, two index values ​​are dynamically maintained for each data point: a first index value representing translation sensitivity (SV) and a second index value representing model cost (such as computational overhead). Based on these, a training subset is dynamically selected for each iteration, enabling the model to prioritize learning data that has a significant impact on accuracy and is cost-controllable.

[0025] In some embodiments, by combining deterministic selection (such as selecting key points with the highest translation sensitivity) with weighted random selection based on a first index value, diversity is introduced to avoid overfitting while ensuring that the key data is sufficiently trained.

[0026] In some embodiments, in parallel training scenarios, conflicting data are updated by comparing and adopting the first index value calculated by the model with the smallest second index value (i.e., the lowest cost) among multiple models, thereby achieving a balance between training efficiency and result reliability.

[0027] In some embodiments, a decay mechanism is introduced to reduce the first index value of unselected data points after each iteration, prompting the model to refocus on these data in subsequent iterations, preventing them from being ignored for a long time, and improving the balance of data utilization.

[0028] Furthermore, in some embodiments, under a client-server architecture, the server centrally maintains and synchronizes the dynamic metrics of all data points, while the client trains based on a locally selected subset and sends back updates, thus achieving efficient collaboration and resource optimization in a distributed environment.

[0029] In some embodiments, these methods can work together to enable model training to adaptively focus on high-value data, significantly reducing computational costs and time while maintaining correction accuracy.

[0030] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0031] Figure 1 A schematic diagram of an example environment 100 in which various embodiments of the present disclosure can be implemented is shown. The computing device 10 in the example environment 100 can be any device with computing capabilities. As a non-limiting example, the computing device 10 can be any type of fixed computing device, mobile computing device, or portable computing device, including but not limited to desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, multimedia computers, mobile phones, etc.; all or some components of the computing device 10 can be distributed in the cloud.

[0032] In this example environment 100, computing device 10 may include or be deployed with acquisition module 1 and processing module 2. The actions described below with respect to computing device 10 may be performed by at least one of acquisition module 1 and processing module 2.

[0033] Appendix Figure 1 This paper demonstrates the overall operating environment and system architecture of the optical proximity correction model training method proposed in this application. The environment is centered around a computing device 100, which, through its internally integrated acquisition module 1 and processing module 2, collaboratively completes the tasks of dynamic data filtering and iterative optimization during model training.

[0034] After the model completes one round of training and updates relevant metrics, the computing device 100 will, based on the updated metric values, perform data selection again through the processing module 2 to form a new training subset. This subset will then drive subsequent iterative training of the model, thereby achieving closed-loop and adaptive optimization of the training process. Furthermore, the computing device supports collaborative processing in parallel training scenarios. This process can be used to handle selection conflicts for the same data point when multiple models are trained simultaneously. By comparing and making decisions, it ensures consistency in the training process and efficient utilization of resources.

[0035] It should be understood that Figure 1 The module divisions shown are for illustrative purposes only and are not intended to be limiting. Furthermore, it should be understood that example environment 100 can also have various other implementations. To more clearly explain the principles of this disclosure, reference will be made below. Figure 2 Let me describe it in more detail.

[0036] The following is for reference. Figure 2 This describes a simulation method 200 for semiconductor devices according to embodiments of the present disclosure. Figure 2 A flowchart of a method 200 for model training for optical proximity correction according to some embodiments of the present disclosure is illustrated. In this method, the training speed of the model can be improved by dynamically selecting measurement data points without sacrificing the accuracy of the model training. For example, method 200 can be performed using computing device 10 or other computing devices.

[0037] Method 200 includes step 21, wherein a first number of data points are selected from the plurality of data points as a training subset for training an optical proximity correction model based on multiple index values ​​of multiple data points corresponding to measurement points in the layout using a weighted random strategy. For example, each layout measurement point may correspond to one training data point. Furthermore, the multiple index values ​​may include a first index value and a second index value for the same training data point. For example, the first index value may indicate the translation sensitivity (also referred to as the SV value in this document) of the corresponding data point, and the second index value may indicate the cost of the model corresponding to the corresponding data point (also referred to as the cost value in this document). For the same contour line, selecting sampling points at different locations (or sampling points with different densities or sampling intervals) will result in different contour signals reconstructed through interpolation, leading to deviations in the calculated CD (critical dimension) fitting results; the maximum value of this CD deviation is called the translation sensitivity. A smaller SV value indicates a more stable fitted signal, i.e., a more stable model. Therefore, the SV value is one of the important indicators for evaluating model stability and the consistency of calculation results. Cost represents the computational resources or time overhead consumed in processing or training the data point. For example, cost can represent at least one of the following: computational complexity / time cost, convergence difficulty / iteration cost, and resource consumption. Therefore, cost is an important parameter used to quantify the time or computational resources required for a model to process a specific data point.

[0038] In some embodiments, in the first iteration of the optical proximity correction model, all data points are initialized to have the same SV value. For example, the initial SV value for all data points can be set to the same negative value, such as -1, -2, -3, etc. Because the SV values ​​used to train the optical proximity correction model and processed by the model will only have positive values, by initializing the SV values ​​to negative values, method 200 can determine that data points with negative values ​​have never been selected and processed by any model to be trained. In other words, the processed data points according to embodiments of this disclosure will not have negative values.

[0039] In some embodiments, all data points are initialized to have the same cost value in the first iteration of the optical proximity correction model. For example, the cost value can be initialized to zero. For example, a zero cost value can represent "no computational overhead has been incurred." It should be understood that embodiments of this disclosure are not limited thereto, and the cost value can be initialized to other appropriate values ​​as needed.

[0040] According to some embodiments, the data points in the training subset may include at least one first data point and multiple second data points. For example, the training subset may consist of at least one first data point and multiple second data points. According to a non-limiting embodiment, for a layout pattern with a total of 50 data points, the training subset may be configured as 10% of the total 50 data points, i.e., 5 data points. For example, one first data point and four second data points may be selected to construct the training subset for training the optical proximity correction model. For example, the training subset may include a data point with the largest SV value and four data points randomly selected through a weighted randomization strategy.

[0041] The first data point can represent one or more data points with the largest SV value among all data points. For example, all data points can be sorted based on their respective SV values ​​for all measurement points, and a predetermined number of data points with the largest SV value can be selected as the first data points. According to some embodiments, the predetermined number can be a certain percentage of the total number of data points. For example, the predetermined number of the first data points can be 2% of the total number of data points. In other embodiments, other predetermined numbers of first data points can also be used, such as 1%, 3%, 5%, etc.

[0042] The second data point can be a predetermined number of data points selected from a plurality of data points using a weighted random strategy. In some embodiments, the plurality of second data points can be selected from the remaining data points excluding the first data point from all data points. In this case, selecting the second data point may include selecting a data point different from the first data point from the plurality of data points, and applying the weighted random strategy to the selected data points to select the second data point.

[0043] This is publicly available. Figure 3 A method 300 for selecting a plurality of second data points from the plurality of data points is shown.

[0044] Method 300 may include step 31, wherein the weight of each data point can be determined based on the first index value of each data point. Method 300 further includes step 32, wherein a random number is generated based on the corresponding weight. For example, a random number in the range of 0 to 1 (inclusive) can be generated using a random function. In some embodiments, the random number can be accurate to two decimal places. Furthermore, method 300 further includes step 33, wherein the second data point is determined based on the random number. By determining which data point's cumulative weight range the value of the random number falls into, a corresponding data point can be randomly selected based on a weighted strategy. It should be understood that... Figure 3The method for selecting multiple second data points from the plurality of data points shown is one embodiment of this disclosure. The embodiments of this disclosure are not limited thereto and can be modified accordingly according to actual needs.

[0045] Figure 4A and Figure 4B Together, a method for randomly selecting a second data point based on a weighted strategy according to other embodiments of this disclosure is illustrated.

[0046] like Figure 4A As shown, method 400 includes step 41, wherein the absolute value of a first index value for each of the plurality of data points is used as the original weight of the data point. For example, for n measurement points, the absolute value of the SV value used for each data point is taken as the fitness f for each data point. The fitness for all data points is: F = f1 + f2 + ... + fn; where n is a positive integer.

[0047] Furthermore, method 400 includes step 42, wherein the original weights of all data points among the plurality of data points are normalized to obtain the selection probability of each data point. Thus, the selection probabilities of each data point are: p1=f1 / F, p2=f2 / F, pn=fn / F. In other words, the selection probability of each data point is the ratio of its fitness value to the sum of the fitness values ​​of all data points.

[0048] Method 400 further includes step 43, wherein a cumulative probability interval for each data point is determined based on the selection probability. For example, in Figure 4B As shown, the cumulative weights for each data point are: p1, p1+p2, p1+p2+p3, p1+…+pn, where p1+…+pn=1. In this way, based on the SV value of each data point, a corresponding cumulative weight range is assigned to each of the n data points. Figure 4B As shown in diagram 410, the first data point can have a cumulative weight range of 0 to 0.18, the second data point can have a cumulative weight range of 0.18 to 0.35, and the third data point can have a cumulative weight range of 0.35 to 0.86. Furthermore, the fourth to nth data points correspond to a cumulative weight range of 0.86 to 1.

[0049] Method 400 further includes step 44, wherein a random number in the range of 0 to 1 is generated. The random number can be generated in any conventional manner. Figure 4B As shown in schematic diagram 410, multiple random numbers can be generated using the processing module 2 in computing device 10 based on a random number generation function. For example... Figure 4B The first and second random numbers are shown in diagram 410. This is only by way of example. Figure 4BThe first random number is shown to be 0.25 and the second random number is shown to be 0.47.

[0050] Method 400 further includes step 45, wherein the corresponding data point is selected as the second data point based on the cumulative probability interval into which the random number falls. Figure 4B As shown, a first random number (0.25) generated by a random function is determined to fall within the cumulative weight range (0.18-0.35) of the second data point, therefore the second data point is selected based on the first random number. Similarly, a second random number (0.47) generated by a random function is determined to fall within the cumulative weight range (0.35-0.86) of the third data point, therefore the third data point is selected based on the second random number. Multiple weighted random selections based on random numbers, as described above, can be performed to select a predetermined number of second data points for the training subset. In some embodiments, if the generated random number is determined to fall within a previously selected cumulative weight range, the steps of generating random numbers and selecting data points are repeated until a predetermined number of second data points for the training subset are selected.

[0051] In some embodiments, multiple different random numbers can be generated simultaneously to select multiple data points at once. For example, in some embodiments, for a training subset requiring four second data points, four random numbers between 0 and 1 can be generated simultaneously, and all four second data points for the training subset can be selected at once. This improves the efficiency of weighted random selection of second data points.

[0052] While this paper only discusses the case of 50 data points / landscape measurement points, the scope of this disclosure is not limited to this. For example, there can be 100, 1000, 5000, 10000 or more landscape measurement points / data points. Furthermore, the total number of data points in the training subset, and the respective numbers of the first and second data points, can also be selected as other numbers depending on the specific circumstances. For example, the training subset can have a total of 10 data points (2 first data points + 8 second data points), 200 data points (20 first data points + 180 second data points), or other numbers.

[0053] Now back Figure 2 Method 200 includes step 22, wherein, by training the model using the training subset, updated multiple metric values ​​for the plurality of data points are generated. For example, the SV and cost values ​​of data points selected into the training subset can be updated to positive values ​​output by the optical proximity correction model. The SV and cost values ​​of data points not selected into the training subset, i.e., data points not processed by the optical proximity correction model, can retain their initial values.

[0054] Method 200 further includes step 23, wherein the first number of data points can be selected as an updated training subset based on the updated multiple index values ​​of the plurality of data points using a weighted random strategy. For example, in step 23, the process of selecting data points into the training subset in step 21 can be performed again based on the plurality of data points including the updated data points. The difference is that in step 23, data points that were previously selected into the training subset and processed by the optical proximity correction model will have SV values ​​and cost values ​​different from their initial values. Since the selection of the first data points in the training subset is based on SV value sorting, and data points with larger SV values ​​will be selected first, the larger the SV value, the greater the probability of being selected into the training subset. At the same time, the second data points randomly selected by the weighted strategy can expand the selection range of data points, thereby increasing the probability of each data point being selected as much as possible.

[0055] According to some embodiments, after each iteration of the model training, the SV values ​​of data points not selected in the training subset can be decayed. For example, the SV values ​​of data points not selected in any training subset can be reduced by a predetermined value. In other examples, the SV values ​​of data points not selected in any training subset can be multiplied by a predetermined factor. In some embodiments, the SV values ​​of data points not selected in any training subset can be reduced by a predetermined value and multiplied by a predetermined factor. In this way, the SV values ​​of data points not selected in the training subset for model training can be actively adjusted to adjust the probability of that data point being selected in subsequent iterations of model training.

[0056] Method 200 further includes step 24, wherein the model is subsequently trained iteratively based on the updated training subset.

[0057] According to some embodiments, multiple optical proximity correction models can be trained in parallel. For example, 5, 10, 100, or more optical proximity correction models can be trained in parallel. Each of the multiple optical proximity correction models trained in parallel can select a corresponding training subset in each iteration and provide corresponding updated SV and cost values ​​for the data points in the training subset. In some examples, the same data point may be selected as a candidate data point for the training subset by multiple models. To avoid conflicts when the same data point is detected to be selected by multiple models in the same iteration of model training, one aspect of this disclosure provides... Figure 5 Method 500 is shown.

[0058] like Figure 5As shown, method 500 includes step 51. In step 51, cost values ​​calculated by multiple optical proximity correction models for the same data point (i.e., the same plot measurement point) can be compared. Method 500 includes step 52, wherein, based on the comparison, the model with the minimum cost value for the same data point can be determined. After determining the model with the minimum cost value, method 500 further includes step 53. In step 53, method 500 updates the first index value for the data point using the SV value calculated by the model with the minimum cost value.

[0059] Using embodiments of this disclosure, data points with the largest SV value can be selected, and since the training subset of the model is dynamically updated, the estimate of the largest SV value also tends to stabilize as the model converges. Furthermore, by dynamically selecting data points with the largest SV value for training, methods 200, 300, and 400 of this disclosure provide significant performance improvements compared to conventional methods that calculate all data points for optical proximity correction model training. As listed in Table 1, for an optical layout with a total of 1000 data points, selecting 105 data points in each iteration according to embodiments of this disclosure reduces the model training time from 25 minutes to 3 minutes, while the model's cost parameter cost only increases from 1.95 to 1.96. Although the cost value increases slightly, the model trained using the method of this disclosure performs comparably on independent test sets to the model trained by calculating all measurement points, with key parameters (such as EPE, edge placement error). Table 1 According to some embodiments, method 200 can be executed in a client-server architecture. For example, at the server side, the SV values ​​and cost values ​​of all data points can be centrally maintained. At the client side, based on the SV values ​​and cost values ​​obtained from the server, the following steps are performed: selecting a training subset, performing model training, generating updated SV values ​​and updated cost values, and updating the training subset. After each iteration of model training, the updated SV values ​​and updated cost values ​​can be transmitted from the client to the server side to update the corresponding SV values ​​and cost values ​​of the multiple data points maintained at the server side.

[0060] Figure 6 A schematic block diagram of an example device 600 that can be used to implement embodiments of the present disclosure is shown. Device 600 can be used to implement... Figure 1The computing device 10. As shown, the device 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 602 or loaded from storage unit 608 into random access memory (RAM) 603. The RAM 603 may also store various programs and data required for the operation of the device 600. The CPU 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0061] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0062] CPU 601 executes the various methods and processes described above. For example, according to Figures 2 to 4A as well as Figure 5 The methods 200 to 500 illustrated respectively can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by CPU 601, one or more steps described above, such as selecting a first index value and a second index value, can be performed. Alternatively, in other embodiments, CPU 601 can be configured by any other suitable means (e.g., by means of firmware) to execute any of the methods 200 to 500 according to this disclosure.

[0063] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload programmable logic devices (CPLDs), and so on.

[0064] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0065] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0066] Furthermore, although the operations are described in a specific order, this should be understood as requiring that such operations be performed in the specific order shown or in sequential order, or requiring that all illustrated operations be performed to achieve the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented individually or in any suitable sub-combination in multiple implementations.

[0067] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A method for training an optical proximity correction model, comprising: Based on multiple index values ​​of multiple data points corresponding to measurement points in the layout, a first number of data points are selected from the multiple data points as a training subset through a weighted random strategy, wherein the multiple index values ​​indicate the translation sensitivity of the corresponding data points and the cost of the corresponding model. Based on training the model using the training subset, updated index values ​​for the plurality of data points are generated; The updated index values ​​based on the multiple data points are selected as the first number of data points as the updated training subset through the weighted random strategy. as well as The model is then trained iteratively based on the updated training subset.

2. The method according to claim 1, wherein: The plurality of index values ​​include a first index value and a second index value, wherein the first index value indicates the translation sensitivity of the corresponding data point, and the second index value indicates the cost of the model corresponding to the corresponding data point; The first indicator value for each data point has the same initial negative value; as well as The second indicator value for each data point has the same initial zero value.

3. The method of claim 2, wherein selecting a first number of data points from the plurality of data points using a weighted random strategy comprises: Based on a preset selection ratio and the magnitude of each of the first indicator values, at least one first data point is selected from the plurality of data points; as well as Based on the first indicator value, multiple second data points are selected from the multiple data points using a weighted random strategy; The training subset is composed of at least one first data point and the plurality of second data points.

4. The method according to claim 3, wherein selecting at least one first data point from the plurality of data points based on a preset selection ratio and the magnitude of each of the first indicator values ​​comprises: A predetermined number of data points with the largest first index value are selected as at least one first data point.

5. The method according to claim 3, wherein selecting multiple second data points using a weighted random strategy comprises: Select a data point that is different from the first data point from the plurality of data points; as well as The weighted random strategy is applied to the selected data points to select the second data point.

6. The method of claim 5, wherein performing the weighted random strategy on the selected data points to select the second data point comprises: The weight of each data point is determined based on the first indicator value of each data point. Random numbers are generated based on the corresponding weights; as well as The second data point is determined based on the random number.

7. The method of claim 6, further comprising applying the weighted random strategy to the selected data points to select the second data point, wherein the method comprises: The absolute value of the first indicator value of each of the plurality of data points is used as the original weight of the data point. The original weights of all data points in the plurality of data points are normalized to obtain the selection probability of each data point; Based on the selection probability, determine the cumulative probability interval for each data point; Generate random numbers in the range of 0 to 1; Based on the cumulative probability interval into which the random number falls, the corresponding data point is selected as the second data point.

8. The method according to claim 7, further comprising: Repeat the process of generating the random number and selecting the corresponding data point until a predetermined number of second data points are selected.

9. The method according to claim 2, further comprising: Train multiple models in parallel; When the same data point is detected to have been selected by multiple models in the same iteration of model training, perform the following operations: Compare the second index values ​​calculated by the multiple models for the same data point; Determine the model with the minimum second index value; as well as The first index value of the data point is updated using the first index value calculated by the model with the smallest second index value.

10. The method of claim 1, further comprising an attenuation step, wherein: After each iteration of the model training, the values ​​of the plurality of metrics for data points that were not selected into the training subset are decayed.

11. The method of claim 1, wherein the method is executed at the client, wherein: The training subset is selected based on the multiple indicator values ​​obtained from the server, model training is performed, and updated multiple indicator values ​​and updated training subset are generated. as well as After each iteration of model training, the updated plurality of metric values ​​are sent to the server to update the plurality of metric values ​​for the plurality of data points.

12. An electronic device for training an optical proximity correction model, comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, the instructions which, when executed by the processor, cause the electronic device to perform actions, the actions including: Based on multiple index values ​​of multiple data points corresponding to measurement points in the layout, a first number of data points are selected from the multiple data points as a training subset through a weighted random strategy. Based on training the model using the training subset, updated index values ​​for the plurality of data points are generated, wherein the plurality of index values ​​indicate the translation sensitivity of the corresponding data points and the cost of the corresponding model. The updated multiple indicator values ​​based on the multiple data points are used to select the first number of data points as the updated training subset through the weighted random strategy; and The model is then trained iteratively based on the updated training subset.

13. A computer-readable storage medium having a computer program stored thereon, the program, when executed by a processor, implementing the method according to any one of claims 1 to 11.