Synthetic time series data related to processing equipment

By employing synthetic time trace data generated by GANs, the challenges of maintaining predictive power in machine learning models due to changing chamber conditions are addressed, resulting in more efficient and cost-effective model training and operation.

JP2025509273AActive Publication Date: 2025-04-11APPLIED MATERIALS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024553340
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-07
Filing Date
2023-03-03
Publication Date
2025-04-11
Estimated Expiration
2043-03-03

AI Technical Summary

Technical Problem

Existing machine learning models used in manufacturing equipment face challenges in maintaining predictive power due to changes in chamber conditions, such as aging and maintenance, which require extensive data generation and retraining, leading to increased costs and downtime.

Method used

The use of synthetic time trace data generated by machine learning models, such as Generative Adversarial Networks (GANs), which are trained on a limited amount of true data to produce data that matches the distribution of true data, allowing for more efficient training and reduced data generation costs.

Benefits of technology

This approach enables more robust machine learning models that are less affected by changes in manufacturing equipment conditions, reducing the need for frequent retraining and data collection, thereby minimizing costs and downtime.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025509273000001_ABST
    Figure 2025509273000001_ABST
Patent Text Reader

Abstract

The method includes providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time series data for a process chamber. The method further includes providing first data indicative of one or more attributes of the target synthetic sensor time series data to the first trained machine learning model. The method further includes receiving an output from the first trained machine learning model. The output includes the synthetic sensor time series data associated with the process chamber. The output was generated in consideration of the first data indicative of the one or more attributes.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THE DISCLOSURE The present disclosure relates to methods associated with machine learning models, and more particularly, to methods for generating and utilizing synthetic data using machine learning models associated with a processing device. [Background technology]

[0002] Manufacturing equipment may be used to produce products by performing one or more manufacturing processes. For example, semiconductor manufacturing equipment may be used to produce substrates through a semiconductor manufacturing process. The products are produced to have certain characteristics suitable for a target application. Machine learning models are used in various process control and predictive functions associated with the manufacturing equipment. The machine learning models are trained using data associated with the manufacturing equipment. Summary of the Invention

[0003] The following is a simplified summary of the disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure, nor is it intended to limit the scope of particular embodiments of the disclosure or the claims. Its sole purpose is to present some ideas of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0004] The method includes providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time series data for a process chamber. The method further includes providing first data indicative of one or more attributes of the target synthetic sensor time series data to the first trained machine learning model. The method further includes receiving an output from the first trained machine learning model. The output includes the synthetic sensor time series data associated with the process chamber. The output was generated in consideration of the first data indicative of the one or more attributes.

[0005] In another aspect of the present disclosure, a system is disclosed that includes a memory and a processing device coupled to the memory. The processing device is configured to perform an operation. The operation includes providing a random or pseudorandom input to a first trained machine learning model. The first trained machine learning model is trained to generate synthetic sensor time series data for a process chamber. The operation further includes providing first data to the first trained machine learning model that indicates one or more attributes of the target synthetic sensor time series data. The operation further includes receiving an output from the first trained machine learning model. The output includes synthetic sensor time series data associated with the process chamber. The output was generated in consideration of the first data that indicates the one or more attributes.

[0006] In another aspect, a non-transitory machine-readable storage medium is disclosed. The non-transitory machine-readable storage medium has instructions stored thereon that, when executed, cause a processing device to perform an operation. The operation includes providing a random or pseudo-random input to a first trained machine learning model trained to generate synthetic sensor time series data for a processing chamber. The operation further includes providing first data to the first trained machine learning model that indicates one or more attributes of the target synthetic sensor time series data. The operation further includes receiving an output from the first trained machine learning model. The output includes synthetic sensor time series data associated with the processing chamber. The output was generated in consideration of the first data that indicates the one or more attributes.

[0007] In the figures of the accompanying drawings, the present disclosure is illustrated by way of example and not by way of limitation. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a block diagram illustrating an example system architecture according to some embodiments. [Figure 2A] FIG. 1 is a block diagram of an example dataset generator for generating a dataset for a model, according to some embodiments. [Figure 2B] FIG. 1 is a block diagram of an example dataset generator for generating a dataset for a model, according to some embodiments. [Diagram 3] FIG. 1 is a block diagram illustrating a system for generating output data according to some embodiments. [Figure 4A] 1 is a flow diagram of a method related to generating one or more machine learning models for generating predictive data, according to some embodiments. [Figure 4B] 1 is a flow diagram of a method related to generating one or more machine learning models for generating predictive data, according to some embodiments. [Figure 4C]1 is a flow diagram of a method related to generating one or more machine learning models for generating predictive data, according to some embodiments. [Figure 5A] FIG. 1 is a block diagram of an example machine learning architecture for generating synthetic data, according to some embodiments. [Figure 5B] FIG. 1 is a block diagram of an example machine learning architecture for generating synthetic data, according to some embodiments. [Figure 6] FIG. 1 is a block diagram illustrating a computer system according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Described herein are techniques for generating synthetic time trace data, e.g., synthetic time trace data that may be used to train machine learning models. Manufacturing equipment is used to produce products, such as substrates (e.g., wafers, semiconductors). Manufacturing equipment may include fabrication or processing chambers to isolate the substrates from the environment. The properties of the produced substrates should meet target values ​​to facilitate a particular function. Manufacturing parameters are selected to produce substrates that meet the target property values. Many manufacturing parameters (e.g., hardware parameters, process parameters, etc.) contribute to the properties of the processed substrates. The manufacturing system may control the parameters by specifying set points for property values, receiving data from sensors located in the fabrication chambers, and adjusting the manufacturing equipment until the sensor readings match the set points. In some embodiments, the trained machine learning models are utilized to improve the performance of the manufacturing equipment.

[0010] The machine learning model may be applied in several ways in connection with the process chamber and / or manufacturing equipment. The machine learning model may receive as input sensor data measuring the value of a property in the process chamber. The machine learning model may be configured to predict a process result, e.g., metrology results of a finished product. The machine learning model may receive as input in situ data related to the workpiece or substrate, e.g., reflectance spectroscopic data of a semiconductor wafer during an etching process. The machine learning model may be configured to predict and control the process result, e.g., predict when the etching process is complete and send a command to the processing chamber to stop the etching operation. In some embodiments, the machine learning model may accept metrology data of the finished product as input. The machine learning model may be configured to generate as output a prediction of the root cause of a product anomaly (e.g., a processing defect). There are many others, but these are a few representative examples of the use of machine learning in connection with manufacturing equipment.

[0011] In some embodiments, a large amount of time trace data, e.g., data associated with hundreds of processing runs, is used to train the machine learning model. The data may include many time traces, e.g., time traces associated with hundreds of sensors, time traces associated with multiple processing operations of a processing run, etc.

[0012] In some embodiments, the performance of the manufacturing equipment changes over time. In some processes, materials may be deposited on chamber parts as the product is processed, e.g., substrate supports, valves and actuators, showerheads, etc. may accumulate layers of various process materials or by-products. In some processes, materials may be removed from various chamber parts, e.g., by corrosive gases or plasmas. As parts of the manufacturing system change over time, the conditions experienced by the workpiece (e.g., substrates, semiconductor wafers, etc.) may be affected. As conditions change, the characteristics of the finished product (e.g., substrate measurements) may also shift.

[0013] Maintenance is performed on processing equipment to avoid unpredictable chamber conditions. In some cases, one or more parts are replaced. In some cases, seasoning operations are performed. Some maintenance operations are performed as part of planned maintenance events, e.g., as part of maintenance events that are performed according to a schedule to maintain acceptable performance of the equipment. Some maintenance operations are performed as part of unplanned maintenance events, e.g., as part of maintenance events that are initiated in response to a system defect, an unexpected failure of a system or part, etc.

[0014] Slow drifts and sudden changes (e.g., maintenance, part replacement, etc.) can change the relationship between set points and characteristic values ​​in a processing chamber. For example, as a chamber ages or if a heating element is replaced, the set point of a heating device (e.g., power provided to the heating device) can result in a different temperature profile at the location of the substrate. In some embodiments, changes in the processing chamber can affect the relationship between sensor data and conditions near the substrate. Machine learning models trained to perform functions related to processing equipment (e.g., to generate predictive data) can provide less reliable functions when chamber conditions change.

[0015] The machine learning model may be configured to recognize, classify or exploit rare features in the trace data, for example, to classify manufacturing equipment defects based on sensor data input. In some embodiments, the majority of processing runs do not exhibit equipment defects. The majority of processing runs utilize normally functioning parts to generate normal processing conditions.

[0016] Training a machine learning model can be costly. To make the machine learning model accurate, the machine learning model is typically trained with a large number of data samples. For example, the machine learning model may be configured to receive sensor data as input and generate predictions of finished product metrology values ​​as output. When training the machine learning model, metrology data and associated sensor data for many (e.g., hundreds) of products (e.g., substrates) may be provided to the machine learning model. The trained machine learning model may only provide useful (e.g., accurate) data in a narrow range of situations. For example, the trained machine learning model may only be applicable to one processing chamber, one substrate design, one process recipe, etc. The generation of sufficient data to train the machine learning model may involve significant consumption, e.g., in raw materials, processing time, energy, reagents, equipment wear and tear, consumption to generate metrology data, etc. During the generation of training data, processing equipment may be operated without the protection of predictive data from one or more machine learning models. Processing equipment may be operated without predictive machine learning data in conditions that increase wear on the parts. Operating in less than optimal conditions may shorten the life of the parts.

[0017] The expense of generating sufficient training data to generate a trained machine learning model with significant predictive power is compounded by changing chamber quality, e.g., due to drift, maintenance, etc. As chamber quality changes (e.g., parts experience drift, components are replaced), the predictive power of the machine learning model associated with the processing chamber may deteriorate. To maintain adequate predictive power, the machine learning model may be retrained. Data from additional product processing, metrology, etc. may be utilized to train the machine learning model. Such a strategy includes generating a large amount of training data for the modified processing chamber. While generating this new training data, the chamber may be offline (e.g., not producing product for use, sale, etc.). Processing systems may undergo periodic changes. Offline time (e.g., downtime to generate training data) may be inconvenient or costly.

[0018] The intended function of the machine learning model, e.g., anomaly detection, classification of root causes of defects, etc., may further multiply the expenditure of generating sufficient training data. Defects in an operational manufacturing system are often rare. Many processing runs may be performed before a defect occurs. In some embodiments, a small number of processing runs may be performed before a defect is corrected. Under normal operation, collecting sufficient data to indicate a defect may take an excessive amount of time. In some cases, manufacturing equipment with defects (e.g., failed or aged parts) may be intentionally operated to collect training data. In some cases, operating manufacturing equipment with defects may increase stress on the manufacturing system. The increased stress may shorten the life of the manufacturing system and increase expenditures for parts, maintenance, downtime, expedited parts, etc.

[0019] The methods and devices of the present disclosure may address one or more of these shortcomings of conventional solutions. In some embodiments, one or more machine learning models associated with the process chamber are trained. In some embodiments, the training data includes time trace data, e.g., sensor data. In some embodiments, a limited amount of training data is available. In some embodiments, a limited amount of training data of one or more types is available, e.g., data indicating impending failures of various subsystems, etc. In some embodiments, one or more machine learning models (e.g., an ensemble model including several models in parallel) may be used to generate synthetic time trace training data.

[0020] The synthetic time trace data may be generated using a machine learning model. In some embodiments, a relatively small amount of real data (e.g., data collected by a sensor during a processing run, measured sensor time series data) may be used to train the model to generate the synthetic time trace data. The generator model may be configured to generate synthetic data that matches the distribution of the real data, e.g., synthetic data that is statistically similar to the real data.

[0021] In some embodiments, the data used to train the generator model may be labeled with one or more attributes. Attributes may include labels that identify the source of the data, such as sensor type, sensor location, information about the process recipe or operation, etc. Attributes may include labels that identify the state of the manufacturing system, such as labels of defects present in processing equipment, an indication of the time since the manufacturing equipment was installed or maintained, etc.

[0022] In some embodiments, the generation of synthetic data may include the use of a generative adversarial network (GAN). A GAN is a type of unsupervised machine learning model (e.g., a model is provided with training inputs without providing a target output during a training operation). A basic GAN includes two parts: a generator and a discriminator. The generator generates synthetic data, e.g., time trace sensor data. The discriminator is then provided with synthetic data and true data, e.g., data collected by a sensor during a processing run. The discriminator attempts to label data as true or synthetic (e.g., distinguish synthetic data from true data), and the generator attempts to generate synthetic data that the discriminator cannot distinguish as synthetic data. After the generator achieves a target efficiency (e.g., after reaching a threshold portion of the output that the discriminator does not classify as synthetic data), the generator may be used to generate synthetic data for use in other applications.

[0023] In some embodiments, the generator may be configured to generate an output according to an attribute, for example, an output related to training data taken while a defect exists in the manufacturing equipment. In this manner, a relatively small amount of training data may be used to train the GAN, and the generator may generate a large amount of data (e.g., for use in training a machine learning model configured to predict defects) having features indicative of defects in the manufacturing equipment. In some embodiments, a sufficient amount of training data is available to train the machine learning model, and the data was collected under well-controlled processing conditions. In some embodiments, the well-controlled processing conditions may generate a data set that captures little variation in conditions over many processing runs. In some embodiments, a machine learning model trained on similar data may lack robustness, e.g., may exhibit imperfect performance even when relatively small changes in conditions occur. In some embodiments, the generator may be configured to generate a noisy output. This noisy output may be utilized to train the machine learning model. A machine learning model trained using noisy synthetic data may be more robust to changes in manufacturing equipment conditions than a machine learning model trained strictly on real data.

[0024] Aspects of the present disclosure are technically advantageous over conventional solutions. Aspects of the present disclosure result in more efficient machine learning model training and data generation / collection. Training of the machine learning model may be performed with large amounts of data. In embodiments, a portion (e.g., optionally a large portion) of the data used to train the machine learning model is synthetic data generated according to embodiments described herein. This large amount of data used to train the chamber may be further exacerbated by changing chamber conditions (e.g., aging and drift, part replacement, maintenance, etc.), rare target events (e.g., defect or anomaly detection), etc. In conventional systems, multiple processing runs may be performed to generate training data. This may result in large amounts of wasted material, large amounts of chamber downtime, energy consumption, etc. In some embodiments, the process chamber control system may be run or partially run by the machine learning model. These process chambers may be operated outside of the ideal conditions in which the training data was generated (e.g., without the aid of an associated control model). Utilizing the methods of generating training data presented in this disclosure may reduce material consumption, time consumption, energy consumption, uncontrolled chamber usage, etc., in generating data for training (or retraining) machine learning models. In some embodiments, a chamber with defects may be intentionally operated to generate training data indicative of the defects. Doing so may place additional stress on parts of the manufacturing system, such as shortening part life, increasing maintenance frequency, etc. By utilizing machine learning models to generate synthetic data, such consumption may be reduced. Training data may be generated that provides additional robustness and protects against overfitting, and the training data may be targeted to a specific application (e.g., data having a specific set of attributes).

[0025] Aspects of the present disclosure describe a method, the method including providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time series data for a process chamber. The method further includes providing first data indicative of one or more attributes of the target synthetic sensor time series data to the first trained machine learning model. The method further includes receiving an output from the first trained machine learning model. The output includes synthetic sensor time series data associated with the process chamber. The output was generated in consideration of the first data indicative of the one or more attributes.

[0026] In another aspect of the present disclosure, a system is disclosed that includes a memory and a processing device coupled to the memory. The processing device is configured to perform an operation. The operation includes providing a random or pseudorandom input to a first trained machine learning model. The first trained machine learning model is trained to generate synthetic sensor time series data for a process chamber. The operation further includes providing first data to the first trained machine learning model that indicates one or more attributes of the target synthetic sensor time series data. The operation further includes receiving an output from the first trained machine learning model. The output includes synthetic sensor time series data associated with the process chamber. The output was generated in consideration of the first data that indicates the one or more attributes.

[0027] In another aspect, a non-transitory machine-readable storage medium is disclosed. The non-transitory machine-readable storage medium has instructions stored thereon that, when executed, cause a processing device to perform an operation. The operation includes providing a random or pseudo-random input to a first trained machine learning model trained to generate synthetic sensor time series data for a processing chamber. The operation further includes providing first data to the first trained machine learning model that indicates one or more attributes of the target synthetic sensor time series data. The operation further includes receiving an output from the first trained machine learning model. The output includes synthetic sensor time series data associated with the processing chamber. The output was generated in consideration of the first data that indicates the one or more attributes.

[0028] 1 is a block diagram illustrating an example system 100 (example system architecture) according to some embodiments. System 100 includes client devices 120, manufacturing equipment 124, sensors 126, measurement equipment 128, a prediction server 112, and a data store 140. Prediction server 112 may be part of a prediction system 110. Prediction system 110 may further include server machines 170 and 180.

[0029] The sensors 126 may provide sensor data 142 associated with the manufacturing equipment 124 (e.g., associated with the manufacturing equipment 124 producing a corresponding product, such as a substrate). The sensor data 142 may be used to ascertain the health of the equipment and / or the health of the product (e.g., product quality). The manufacturing equipment 124 may produce the product according to a recipe or by running for a period of time. In some embodiments, the sensor data 142 may include one or more values ​​of optical sensor data, spectral data, temperature (e.g., heating device temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), radio frequency (RF) match voltage, RF match current, RF match capacitor position, electrostatic chuck (ESC) voltage, actuator position, current, flow rate, power, voltage, etc. The sensor data 142 may include historical sensor data 144 and current sensor data 146. The current sensor data 146 may relate to a product currently being processed, a product recently processed, a number of products recently processed, etc. The current sensor data 146 may be used as input to a trained machine learning model, such as input to a trained machine learning model to generate the predictive data 168. The historical sensor data 144 may include data stored in association with previously produced products. The historical sensor data 144 may be used to train a machine learning model, such as model 190. The historical sensor data 144 and / or the current sensor data 146 may include attribute data, such as labels of manufacturing equipment ID or design, ID, type and / or location of sensors, status of manufacturing equipment, such as defects present, service life, etc.

[0030] The sensor data 142 may be related to or indicative of manufacturing parameters, such as hardware parameters (e.g., hardware settings or installed components, e.g., size, type, etc.) of the manufacturing equipment 124 or process parameters (e.g., heater settings, gas flows, etc.) of the manufacturing equipment 124. Alternatively or in addition, data related to some hardware parameters and / or process parameters may be stored as manufacturing parameters 150, which may include historical manufacturing parameters (e.g., associated with historical processing runs) and current manufacturing parameters. The manufacturing parameters 150 may indicate input settings for the manufacturing devices (e.g., heater power, gas flow rates, etc.). The sensor data 142 and / or manufacturing parameters 150 may be provided while the manufacturing equipment 124 is performing a manufacturing process (e.g., equipment readings while processing a product). The sensor data 142 may vary from product to product (e.g., from substrate to substrate). The substrate may have a property value (e.g., film thickness, film strain, etc.) measured by the metrology equipment 128. The metrology data 160 may be a component of the data store 140 .

[0031] In some embodiments, the sensor data 142, the metrology data 160, or the manufacturing parameters 150 may be processed (e.g., by the client device 120 and / or the prediction server 112). The processing of the sensor data 142 may include generating features. In some embodiments, the features are patterns (e.g., slope, width, height, peaks, etc.) of the sensor data 142, the metrology data 160, and / or the manufacturing parameters 150, or combinations of values ​​from the sensor data 142, the metrology data, and / or the manufacturing parameters (e.g., power derived from voltage and current, etc.). The sensor data 142 may include features, which may be used by the prediction component 114 to perform signal processing and / or to obtain prediction data 168 for performing corrective actions.

[0032] Each instance (e.g., set) of sensor data 142 may correspond to a product (e.g., substrate), a set of manufacturing equipment, a type of substrate produced by the manufacturing equipment, or the like. Similarly, each instance of metrology data 160 and manufacturing parameters 150 may correspond to a product, a set of manufacturing equipment, a type of substrate produced by the manufacturing equipment, or the like. The data store may further store information relating sets of different data types, e.g., information indicating that the set of sensor data, the set of metrology data, and the set of manufacturing parameters all relate to the same product, the same manufacturing equipment, the same type of substrate, etc.

[0033] In some embodiments, a processing device (e.g., via a machine learning model) may be used to generate synthetic sensor data 162. The synthetic sensor data may be processed in any of the manners described above in connection with sensor data 142, such as by generating features, combining values, concatenating data from a particular recipe, chamber, or substrate, etc. The synthetic sensor data 162 may share features with sensor data 142, such as features in common with current sensor data 146, historical sensor data 144, etc.

[0034] In some embodiments, the prediction system 110 may generate the predicted data 168 using supervised machine learning (e.g., the predicted data 168 includes output from a machine learning model trained using labeled data, such as sensor data labeled with measurement data, etc.). In some embodiments, the prediction system 110 may generate the predicted data 168 using unsupervised machine learning (e.g., the predicted data 168 includes output from a machine learning model trained using unlabeled data, where the output may include clustering results, principal component analysis, anomaly detection, etc.). In some embodiments, the prediction system 110 may generate the predicted data 168 using semi-supervised learning (e.g., the training data may include a mixture of labeled and unlabeled data, etc.).

[0035] The client device 120, the manufacturing equipment 124, the sensor 126, the measurement equipment 128, the prediction server 112, the data store 140, the server machine 170, and the server machine 180 may be coupled to each other via the network 130 to generate predictive data 168 for performing corrective actions. In some embodiments, the network 130 may provide access to cloud-based services. Operations performed by the client device 120, the prediction system 110, the data store 140, etc. may be performed by a cloud-based virtual device.

[0036] In some embodiments, network 130 is a public network that provides client device 120 with access to prediction server 112, data store 140, and other public computing devices. In some embodiments, network 130 is a private network that provides client device 120 with access to manufacturing equipment 124, sensors 126, measurement equipment 128, data store 140, and other private computing devices. Network 130 may include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.

[0037] The client devices 120 may include computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablet computers, netbook computers, networked televisions ("smart TVs"), networked media players (e.g., Blu-ray players), set-top boxes, over-the-top (OTT) streaming devices, operator boxes, etc. The client devices 120 may include a corrective action component 122. The corrective action component 122 may receive user input of instructions (e.g., via a graphical user interface (GUI) displayed via the client devices 120) related to the manufacturing equipment 124. In some embodiments, the corrective action component 122 transmits the instructions to the prediction system 110, receives output (e.g., prediction data 168) from the prediction system 110, determines a corrective action based on the output, and causes the corrective action to be implemented. In some embodiments, the corrective action component 122 obtains (e.g., from the data store 140, etc.) sensor data 142 (e.g., current sensor data 146) associated with the manufacturing equipment 124 and provides the sensor data 142 (e.g., current sensor data 146) associated with the manufacturing equipment 124 to the predictive system 110. In some embodiments, the corrective action component 122 stores the sensor data 142 in the data store 140 and the predictive server 112 retrieves the sensor data 142 from the data store 140. In some embodiments, the predictive server 112 may store the output of the trained model 190 (e.g., predicted data 168) in the data store 140 and the client device 120 may retrieve the output from the data store 140. In some embodiments, the corrective action component 122 receives corrective action instructions from the predictive system 110 and causes the corrective action to be implemented. Each client device 120 may include an operating system that enables a user to perform one or more of creating, reviewing, or editing data (e.g., instructions related to the manufacturing equipment 124, corrective actions related to the manufacturing equipment 124, etc.).

[0038] In some embodiments, the metrology data 160 corresponds to historical characteristic data of a product (e.g., a product generated using historical sensor data 144 and manufacturing parameters associated with historical manufacturing parameters of manufacturing parameters 150), and the forecast data 168 relates to predicted characteristic data (e.g., predicted characteristic data of a product that will be produced or a product that has been produced under conditions recorded by the current sensor data 146 and / or the current manufacturing parameters). In some embodiments, the forecast data 168 is predicted metrology data (e.g., virtual metrology data) of a product that will be produced or a product that has been produced according to conditions recorded as the current sensor data 146 and / or the current manufacturing parameters. In some embodiments, the forecast data 168 is an indication of anomalies (e.g., an abnormal product, an abnormal component, an abnormal manufacturing equipment 124, an abnormal energy usage, etc.) and one or more causes of those anomalies. In some embodiments, the forecast data 168 is an indication of a change or drift over time of certain components of the manufacturing equipment 124, the sensors 126, the metrology equipment 128, and the like. In some embodiments, the predictive data 168 is an indication of the end of life of a piece of manufacturing equipment 124, a sensor 126, a metrology device 128, or the like. In some embodiments, the predictive data 168 is an indication of the progress of an ongoing processing operation, such as for use in process control.

[0039] Performing a manufacturing process that results in a defective product can be costly in terms of time, energy, products, components, manufacturing equipment 124, costs of identifying defects and discarding the defective product, etc. By inputting sensor data 142 (e.g., manufacturing parameters that have been or will be used to manufacture the product) into the predictive system 110, receiving an output of predictive data 168, and performing corrective actions based on the predictive data 168, the system 100 can have the technical advantage of avoiding the costs of producing, identifying, and discarding defective products.

[0040] Running a manufacturing process that results in a failure of a component of the manufacturing equipment 124 can be costly in downtime, damage to the product, damage to equipment, rush-ordering replacement components, and the like. By inputting sensor data 142 (e.g., manufacturing parameters that are being or will be used to manufacture a product), receiving output of predictive data 168, and performing corrective actions based on the predictive data 168 (e.g., predicted operational maintenance, such as replacing, treating, cleaning, and the like) the system 100 may have the technical advantage of avoiding one or more of the following costs: unexpected failure of a component, unscheduled downtime, lost productivity, unexpected failure of equipment, product waste, or the like. Performance of components, such as the performance of the manufacturing equipment 124, sensors 126, measurement equipment 128, and the like, may be monitored over time to provide an indication of deteriorating components.

[0041] The manufacturing parameters may be less than optimal for producing the product, and producing the product may have costly consequences such as increased resource (e.g., energy, coolant, gas, etc.) consumption, increased time to produce the product, increased component failures, increased amount of defective products, etc. By inputting the sensor data 142 into the trained model 190, receiving the output of the prediction data 168, and performing corrective actions (e.g., based on the prediction data 168) to update the manufacturing parameters (e.g., set optimal manufacturing parameters), the system 100 may have the technical advantage of using optimal manufacturing parameters (e.g., hardware parameters, process parameters, optimal design) to avoid the costly consequences of less than optimal manufacturing parameters.

[0042] The corrective action may be related to one or more of Computational Process Control (CPC), Statistical Process Control (SPC) (e.g., SPC on electronic components to determine a process under control, SPC to predict the useful life of a component, SPC for comparison to a 3 sigma graph, etc.), Advanced Process Control (APC), model-based process control, preventive operational maintenance, design optimization, manufacturing parameter updates, manufacturing recipe updates, feedback control, machine learning corrections, or the like.

[0043] In some embodiments, the corrective action includes issuing an alert (e.g., an alert to stop or not run a manufacturing process if the predictive data 168 indicates a predicted anomaly, such as an anomaly in the product, component, or manufacturing equipment 124). In some embodiments, a machine learning model is trained to monitor the progress of a processing run (e.g., monitor in situ sensor data to predict whether the manufacturing process has reached completion). In some embodiments, the machine learning model may send instructions to terminate a processing run when the model determines that the process is complete. In some embodiments, the corrective action includes providing feedback control (e.g., feedback control that modifies a manufacturing parameter in response to the predictive data 168 indicating a predicted anomaly). In some embodiments, performing the corrective action includes causing an update to one or more manufacturing parameters to be performed. In some embodiments, performing the corrective action may include retraining a machine learning model associated with the manufacturing equipment 124. In some embodiments, performing the corrective action may include training a new machine learning model associated with the manufacturing equipment 124.

[0044] The manufacturing parameters 150 may include hardware parameters (e.g., information indicative of which components are installed on the manufacturing equipment 124, information indicative of component replacement, information indicative of the age of a component, information indicative of a software version or update, etc.) and / or process parameters (e.g., temperature, pressure, flow rate, rate, current, voltage, gas flow rate, lift speed, etc.). In some embodiments, the corrective action includes performing preventive operational maintenance (e.g., replacing, treating, cleaning, etc., components of the manufacturing equipment 124). In some embodiments, the corrective action includes performing design optimization (e.g., updating manufacturing parameters, manufacturing processes, manufacturing equipment 124, etc. to optimize the product). In some embodiments, the corrective action includes updating a recipe (e.g., changing when a manufacturing subsystem goes into an idle or active mode, changing set points for various characteristic values, etc.).

[0045] Prediction server 112, server machine 170, and server machine 180 may each include one or more computing devices, such as a rack mount server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphics processing unit (GPU), an accelerator application specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), etc. Operations of prediction server 112, server machine 170, server machine 180, data store 140, etc. may be performed by a cloud computing service, a cloud data storage service, etc.

[0046] The predictive server 112 may include a predictive component 114. In some embodiments, the predictive component 114 may receive current sensor data 146 and / or current manufacturing parameters (e.g., received from client device 120 and retrieved from data store 140) and generate outputs (e.g., predictive data 168) for performing corrective actions related to the manufacturing equipment 124 based on the current data. In some embodiments, the predictive component 114 may use one or more trained machine learning models 190 to determine outputs for performing corrective actions based on the current data.

[0047] In some embodiments, the manufacturing equipment 124 may have one or more machine learning models associated with the manufacturing equipment 124. The machine learning models associated with the manufacturing equipment 124 may perform a variety of functions. The machine learning models may be configured to accept time trace sensor data as input and generate predicted metrology data as output. The time trace sensor data may include values ​​measured by a sensor associated with a manufacturing process as processing operations are performed, e.g., data taken at a series of time points. In some embodiments, the time trace data may include values ​​measured every second, 10 times per second, 100 times per second, or at another interval. In some embodiments, the time trace sensor data may not be collected at uniform (e.g., equal) intervals. The time trace sensor data may also be referred to as time series data, sensor time series data, etc. The time trace sensor data may include ordered measurements (e.g., measurements that occur successively in time), such as temperature near a sensor, pressure in a processing chamber, spectral data such as reflectance measurements, transmittance measurements, electrical properties such as voltage or current, radio frequency wavelength or amplitude, etc. The machine learning model may be configured to accept time trace sensor data (e.g., spectral data of a wafer) as input and generate an estimate of process progress as output. Other machine learning models that accept time trace data associated with manufacturing equipment 124 as input are possible and within the scope of the present disclosure. The output of the machine learning model (e.g., machine learning model 190) may be stored in data store 140 as prediction data 168.

[0048] The manufacturing equipment 124 may be associated with one or more machine learning models, such as model 190. The machine learning models associated with the manufacturing equipment 124 may perform many tasks, including process control, classification, performance prediction, and the like. The model 190 may be trained using data associated with the manufacturing equipment 124 or data associated with products processed by the manufacturing equipment 124, such as sensor data 142 (e.g., collected by sensors 126), manufacturing parameters 150 (e.g., associated with process control of the manufacturing equipment 124), metrology data 160 (e.g., generated by metrology equipment 128), and the like. One type of machine learning model that may be used to perform some or all of the above tasks is an artificial neural network, such as a deep neural network. An artificial neural network generally includes a feature representation component having a classifier or recurrent layer that maps features to a desired output space. For example, a convolutional neural network (CNN) hosts multiple layers of convolutional filters. Pooling may be performed and nonlinearities addressed in lower layers, and above the lower layers, multi-layer perceptrons are typically added to map the upper layer features extracted by the convolutional layers to a decision (e.g., classification output). Recurrent neural networks (RNNs) are another type of machine learning model. Recurrent neural network models are designed to interpret a sequence of inputs where the inputs are intrinsically related to each other, e.g., time trace data, sequential data, etc. The output of the perceptron of the RNN is fed back as input to that perceptron to generate the next output. Deep learning is a type of machine learning algorithm that uses a cascade of multiple layers of nonlinear processing units to perform feature extraction and transformation. Each successive layer uses the output from the previous layer as input. Deep neural networks may learn in a supervised (e.g., classification) and / or unsupervised manner (e.g., pattern analysis). Deep neural networks include a hierarchy of layers, where different layers learn different levels of representations corresponding to different levels of abstraction. In deep learning, each level learns to transform its input data into a slightly more abstract and complex representation.For example, in an image recognition application, the raw input may be a matrix of pixels, a first representation layer may take the pixels and code the edges, a second layer may construct and code the arrangement of edges, a third layer may code higher-order shapes (e.g., teeth, lips, gums, etc.), and a fourth layer may recognize the scanning mission. In particular, the deep learning process can learn on its own which features to optimally place at which level. The "deep" in "deep learning" refers to the number of layers through which data is transformed. More precisely, deep learning systems have a significant credit assignment path (CAP) depth. A CAP is a chain of transformations from input to output. A CAP describes the potentially causal connections between inputs and outputs. For feedforward neural networks, the CAP depth may be the depth of the network, or the number of hidden layers + 1. For recurrent neural networks, where signals may propagate through layers more than once, the CAP depth is potentially infinite.

[0049] In some embodiments, the predictive component 114 receives the current sensor data 146 and / or the current manufacturing parameters 154, performs signal processing to decompose the current data into sets of current data, provides the sets of current data as inputs to a trained model 190, and obtains output from the trained model 190 indicative of predicted data 168. In some embodiments, the predictive data indicates metrology data (e.g., predicting substrate quality). In some embodiments, the predictive data indicates component health. In some embodiments, the predictive data indicates process progress (e.g., utilized to terminate a processing operation).

[0050] In some embodiments, the various models discussed in connection with the model 190 (e.g., supervised machine learning models, unsupervised machine learning models, etc.) may be combined into one model (e.g., an ensemble model) or may be separate models. The predictive component 114 receives the current sensor data 146 and the current manufacturing parameters 154, provides that data to the trained model 190, and receives information indicating how much some components in the manufacturing chamber have drifted from their previous performance. Data may be passed bidirectionally between some of the separate models included in the model 190 and the predictive component 114. In some embodiments, some or all of these operations may instead be performed by different devices, such as the client device 120, the server machine 170, the server machine 180, etc. One of ordinary skill in the art will appreciate that variations in data flow, which components perform which processes, which data are provided to which models, and the like, are within the scope of the present disclosure.

[0051] The data store 140 may be a memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, a cloud-accessible memory system, or another type of component or device capable of storing data. The data store 140 may include multiple storage components (e.g., multiple drives or multiple databases) that may be across multiple computing devices (e.g., multiple server computers). The data store 140 may store sensor data 142, manufacturing parameters 150, metrology data 160, synthetic sensor data 162, and forecast data 168. The sensor data 142 may include historical sensor data 144 and current sensor data 146. The sensor data may include time tracking of sensor data throughout the duration of the manufacturing process, association of data with physical sensors, pre-processed data such as averages and composite data, and data indicative of sensor performance over time (i.e., across many manufacturing processes). The manufacturing parameters 150 and metrology data 160 may include similar features. The historical sensor data 144 and the historical manufacturing parameters may be historical data (e.g., at least a portion of these data may be used to train the model 190). The current sensor data 146 may be current data (e.g., at least a portion that follows the historical data and inputs into the learning model 190) for which the predictive data 168 is generated (e.g., to perform corrective action). The synthetic sensor data 162 may include data that includes representative features of several different data, for example, features of old sensor data 148 (e.g., sensor data generated before training the model 190) and features of new sensor data 149 (e.g., sensor data generated after training the model 190).

[0052] In some embodiments, the prediction system 110 further includes a server machine 170 and a server machine 180. The server machine 170 includes a dataset generator 172 that can generate datasets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing a model 190, including one or more machine learning models. Some operations of the dataset generator 172 are described in detail below with respect to FIGS. 2A-B and 4A. In some embodiments, the dataset generator 172 may divide historical data (e.g., historical sensor data 144 stored in the data store 140, historical manufacturing parameters, synthetic sensor data 162) into a training set (e.g., 60 percent of the historical data), a validation set (e.g., 20 percent of the historical data), and a test set (e.g., 20 percent of the historical data). In some embodiments, the prediction system 110 generates multiple sets of features (e.g., via the prediction component 114). For example, the first set of features may correspond to a first set of types of sensor data (e.g., from a first set of sensors, a first combination of values ​​from the first set of sensors, a first pattern of values ​​from the first set of sensors) corresponding to each of the datasets (e.g., a training set, a validation set, and a test set), and the second set of features may correspond to a second set of types of sensor data (e.g., from a second set of sensors different from the first set of sensors, a second combination of values ​​different from the first combination, a second pattern different from the first pattern) corresponding to each of the datasets.

[0053] The server machine 170 may include a synthetic data generator 174. The synthetic data generator 174 may include one or more trained machine learning models. The synthetic data generator 174 may be trained using sensor data 142, e.g., sensor data 142 collected by the sensor 126. The synthetic data generator 174 may be configured to generate synthetic sensor data, e.g., synthetic time trace sensor data. The synthetic sensor data 162 may resemble the historical sensor data 144. The synthetic sensor data 162 may be used to train the machine learning model 190 to generate predictive data 168, e.g., for performing corrective actions. The dataset generator 172 may combine the sensor data 142 and the synthetic sensor data 162 to generate datasets, such as training, testing, and validation datasets.

[0054] In some embodiments, historical data is provided to the machine learning model 190 as training data. In some embodiments, synthetic sensor data 168 is provided to the machine learning model 190 as training data. In some embodiments, this historical and / or synthetic sensor data may be or include time trace data. The type of data provided will vary depending on the application of the machine learning model. For example, the machine learning model may be trained by providing the model with historical sensor data 144 as training input and corresponding metrology data 160 as target output. In some embodiments, a large amount of data may be used to train the model 190. For example, sensor and metrology data for hundreds of substrates may be used. In some embodiments, a fairly small amount of data is available to train the model 190, for example, to train the model 190 to recognize rare events such as equipment failures, or to train the model 190 to generate predictions for newly seasoned or maintained chambers. Synthetic data may be generated to augment the available real data (e.g., data generated by the sensors 126) in the training model 190.

[0055] The server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a test engine 186. The engines (e.g., training engine 182, validation engine 184, selection engine 185, and test engine 186) may refer to hardware (e.g., circuitry, dedicated logic circuitry, programmable logic circuitry, microcode, processing devices, etc.), software (e.g., instructions running on a processing device, general-purpose computer system, or dedicated machine), firmware, microcode, or a combination thereof. The training engine 182 may be capable of training a model 190 using one or more sets of features associated with a training set from the dataset generator 172. The training engine 182 may generate multiple trained models 190, where each trained model 190 corresponds to a different set of features of the training set (e.g., sensor data from a different set of sensors). For example, a first trained model may be trained using all features (e.g., X1-X5), a second trained model may be trained using a first subset of features (e.g., X1, X2, X4), and a third trained model may be trained using a second subset of features (e.g., X1, X3, X4, and X5), where the second subset of features may overlap with the first subset of features. The dataset generator 172 may receive the output of the trained models (e.g., synthetic sensor data 162 from the synthetic data generator 174), assemble the data into training, validation, and testing datasets, and use those datasets to train a second model (e.g., a machine learning model configured to output predictive data, corrective actions, etc.).

[0056] The validation engine 184 may be capable of validating the trained models 190 using a corresponding set of validation set features from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of training set features may be validated using a first set of validation set features. The validation engine 184 may determine the accuracy of each of the trained models 190 based on the corresponding set of validation set features. The validation engine 184 may discard trained models 190 that have an accuracy that does not meet a threshold accuracy. In some embodiments, the selection engine 185 may be capable of selecting one or more trained models 190 that have an accuracy that meets a threshold accuracy. In some embodiments, the selection engine 185 may be capable of selecting the trained model 190 with the highest accuracy among the trained models 190.

[0057] The testing engine 186 may be capable of testing the trained models 190 using a corresponding set of test set features from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of training set features may be tested using a first set of test set features. The testing engine 186 may determine the trained model 190 that has the highest accuracy among all of the trained models based on the test set.

[0058] In the case of a machine learning model, the model 190 may refer to a model artifact generated by the training engine 182 using a training set that includes data inputs and corresponding target outputs (correct answers for each corresponding training input). Patterns in the dataset that map the data inputs to the target outputs (correct answers) can be found, and the machine learning model 190 is provided with a mapping that captures these patterns. The machine learning model 190 may use one or more of the following: support vector machines (SVM), radial basis functions (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithms (k-NN), linear regression, random forests, neural networks (e.g., artificial neural networks, recurrent neural networks), and the like. The synthetic data generator 174 may include one or more machine learning models, which may include one or more of these same types of models (e.g., artificial neural networks).

[0059] In some embodiments, one or more machine learning models 190 may be trained using historical data (e.g., historical sensor data 144). In some embodiments, the models 190 may have been trained using synthetic sensor data 162 or a combination of historical and synthetic data. In some embodiments, the synthetic data generator 174 may be trained using historical data. For example, the synthetic data generator 174 may be trained to generate synthetic sensor data 162 using historical sensor data 144. In some embodiments, the synthetic data generator 174 may include a generative adversarial network (GAN). A GAN includes at least a generator and a discriminator. The generator attempts to generate data (e.g., time trace sensor data) similar to the input data (e.g., true sensor data). The discriminator attempts to distinguish true data from synthetic data (e.g., distinguish synthetic sensor time series data from measured sensor time series data). Training a GAN includes the generator becoming more skilled at generating data similar to true sensor data and the discriminator becoming more skilled at distinguishing true data from synthetic data. The trained GAN includes a generator configured to generate synthetic data that includes many features of the true data used to train the GAN. In some embodiments, the input data may be labeled with one or more attributes, such as information about a tool, sensor, or product associated with the input data. In some embodiments, the generator may be configured to generate synthetic data having a set of attributes, for example, synthetic data associated with a target sensor, a target processing operation, and a target processing equipment defect.

[0060] Utilizing synthetic sensor data 162 in training machine learning models 190 has significant technical advantages over other methods.

[0061] In some embodiments, a large amount of data (e.g., hundreds of substrates) may be used to train the machine learning model. Producing such an amount of data may be costly, for example, in consumed raw materials, process gases, energy, time, equipment wear, etc. A relatively small amount of data (e.g., less data than that used to train the model 190) may be readily available for training. By providing a smaller amount of true data to the synthetic data generator 174 and training the machine learning model 190 using the synthetic sensor data 162, expenses related to performing additional processing runs may be avoided. A large amount of data associated with a set of attributes may be generated and provided to train the machine learning model 190. In some embodiments, the synthetic sensor data 162 may be generated that has more variance than the true sensor data. In some embodiments, the conditions in the process chamber may be reproduced consistently such that training the machine learning model using only the true sensor data may negatively impact the ability of the machine learning model to account for variations in the input data. Providing relatively noisy data, for example, synthetic sensor data 162, to train the machine learning model 190 allows the machine learning model to be more robust to natural variations in the processing operations of the manufacturing equipment.

[0062] The prediction component 114 may provide current data to the model 190 and may execute the model 190 on the inputs to obtain one or more outputs. For example, the prediction component 114 may provide current sensor data 146 to the model 190 and may execute the model 190 on the inputs to obtain one or more outputs. The prediction component 114 may be able to determine (e.g., extract) prediction data 168 from the output of the model 190. The prediction component 114 may determine (e.g., extract) confidence data from the output that indicates a confidence that the prediction data 168 is an accurate predictor of a process associated with the current sensor data 146 and / or input data for a product produced or to be produced at current manufacturing parameters using the manufacturing equipment 124. The prediction component 114 or the corrective action component 122 may use this confidence data to determine whether to cause a corrective action associated with the manufacturing equipment 124 to be performed based on the prediction data 168.

[0063] The confidence data may include or indicate a confidence that the prediction data 168 is an accurate prediction for a product or component associated with at least a portion of the input data. In one example, the confidence is a real number between 0 and 1, inclusive, where 0 indicates no confidence that the prediction data 168 is an accurate prediction for a product processed according to the input data or a component health of a component of the manufacturing equipment 124, and 1 indicates absolute confidence that the prediction data 168 accurately predicts a characteristic of a product processed according to the input data or a component health of a component of the manufacturing equipment 124. In response to the confidence data indicating a confidence below a threshold level for a predetermined number of instances (e.g., a percentage of instances, a frequency of instances, a total number of instances, etc.), the prediction component 114 may retrain the trained model 190 (e.g., based on the current sensor data 146, current manufacturing parameters, etc.). In some embodiments, retraining may include generating one or more data sets (eg, via the data set generator 172) utilizing historical and / or synthetic data.

[0064] For purposes of illustration and not limitation, aspects of the disclosure describe training one or more machine learning models 190 using historical data (e.g., historical sensor data 144, historical manufacturing parameters) and inputting current data (e.g., current sensor data 146, current manufacturing parameters, and current metrology data) into one or more trained machine learning models to determine predicted data 168. In other embodiments, heuristic, physical, or rule-based models are used (e.g., without the use of trained machine learning models) to determine predicted data 168. In some embodiments, such models may be trained using historical and / or synthetic data. In some embodiments, these models may be retrained utilizing a combination of true historical data and synthetic data. The predictive component 114 may monitor the historical sensor data 144, historical manufacturing parameters, and metrology data 160. Any of the information described with respect to the data input 210 of FIG. 2 may be monitored by the heuristic, physical, or rule-based models or used in other ways.

[0065] In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 may be provided by fewer machines. For example, in some embodiments, server machines 170 and 180 may be combined into a single machine, and in other embodiments, server machine 170, server machine 180, and prediction server 112 may be combined into a single machine. In some embodiments, client device 120 and prediction server 112 may be combined into a single machine. In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, server machine 180, and data store 140 may be performed by a cloud-based service.

[0066] In general, functions described as being performed by client device 120, prediction server 112, server machine 170, and server machine 180 in one embodiment may be performed on prediction server 112 in other embodiments, where appropriate. Additionally, functions attributed to particular components may be performed by different or multiple components operating together. For example, in some embodiments, prediction server 112 may determine corrective actions based on prediction data 168. In another example, client device 120 may determine prediction data 168 based on output from a trained machine learning model.

[0067] Additionally, the functionality of a particular component may be performed by different or multiple components working together. One or more of prediction server 112, server machine 170, or server machine 180 may be accessed as a service offered to other systems or devices through an appropriate application programming interface (API).

[0068] In embodiments, a "user" may be expressed as a single individual. However, other embodiments of the present disclosure encompass a "user" being an entity controlled by multiple users and / or automated sources. For example, a collection of individual users combined into a group of administrators may be considered a "user."

[0069] Embodiments of the present disclosure may be applied to data quality assessment, feature enhancement, model evaluation, virtual metrology (VM), predictive maintenance (PdM), marginal optimization, process control or the like.

[0070] 2A-B illustrate block diagrams of example dataset generators 272A-B (e.g., dataset generator 172 of FIG. 1 ) that generate datasets for training, testing, validation, etc. of a model (e.g., model 190 of FIG. 1 ), according to certain embodiments. Each dataset generator 272 may be part of server machine 170 of FIG. 1 . In some embodiments, several machine learning models associated with manufacturing equipment 124 may be trained, used, and maintained (e.g., within a manufacturing facility). Each machine learning model may be associated with one dataset generator 272, multiple machine learning models may share one dataset generator 272, etc.

[0071] The system 200A, including a dataset generator 272A (e.g., dataset generator 172 of FIG. 1), generates a dataset for one or more unsupervised machine learning models (e.g., synthetic data generator 174 of FIG. 1). The dataset generator 272A may use historical data to generate a dataset (e.g., data input 210A). An exemplary dataset generator 272A is configured to generate a dataset for a machine learning model configured to take sensor data as input and generate synthetic sensor data as output (e.g., for use in training another machine learning model). Similar dataset generators (or similar operations of dataset generator 272A) may be utilized for machine learning models configured to perform different functions, e.g., machine learning models configured to receive sensor data as input and generate clustering operations, prediction of anomalies, etc. as output.

[0072] The dataset generator 272A may generate a dataset for training, testing, and validating a machine learning model. The machine learning model is provided with a set of historical sensor data 244A (e.g., historical sensor data of a substrate processing run) as a data input 210A. The machine learning model may include two or more separate models (e.g., the machine learning model may be an ensemble model). The machine learning model may be configured to generate synthetic data that resembles the training input. In some embodiments, training may not include providing a target output to the machine learning model. The machine learning model may include one or more data generators and one or more discriminators. During a training operation, the generator may generate data that resembles the input sensor data. The discriminator may be provided with the input data and the synthetic data, and the discriminator may attempt to distinguish between the data. As training progresses, the discriminator becomes more adept at identifying the synthetic data, and the generator becomes more adept at generating data that resembles the input sensor data (e.g., by "fooling" the discriminator).

[0073] In some embodiments, the dataset generator 272A generates a dataset (e.g., a training set, a validation set, a test set) that includes one or more data inputs 210A (e.g., training inputs, validation inputs, test inputs). The data inputs 210A may also be referred to as "features," "attributes," or "information." In some embodiments, the dataset generator 272A may provide the dataset to the training engine 182, validation engine 184, or testing engine 186, where the dataset is used to train, validate, or test a machine learning model (e.g., the synthetic data generator 174 of FIG. 1). Some embodiments of generating a training set are further described with respect to FIG. 4A.

[0074] In some embodiments, the data input 210A may include one or more sets of data. As an example, the system 200A may generate a set of sensor data that may include one or more of: sensor data from one or more types of sensors, a combination of sensor data from one or more types of sensors, a pattern of sensor data from one or more types of sensors, a combination of manufacturing parameters from one or more manufacturing parameters, a combination of manufacturing parameter data with sensor data, etc., a pattern of sensor data from one or more types of sensors, a combination of manufacturing parameters from one or more manufacturing parameters, a combination of manufacturing parameter data with sensor data, etc.

[0075] In some embodiments, the dataset generator 272A may generate a first data input corresponding to the first set of historical sensor data 244A for training, validating or testing a first machine learning model, and the dataset generator 272A may generate a second data input corresponding to the second set of historical sensor data 244B for training, validating or testing a second machine learning model.

[0076] The data input 210A for training, validating, or testing a machine learning model may include information for a particular manufacturing chamber (e.g., of a particular substrate manufacturing equipment). In some embodiments, the data input 210A may include information for a particular type of manufacturing equipment, for example, manufacturing equipment sharing a particular characteristic. Training a machine learning model based on one type of equipment may enable the trained model to generate plausible synthetic sensor data for a fleet of manufacturing equipment.

[0077] In some embodiments, following generating the dataset and using the dataset to train, validate or test a machine learning model, the model may be further trained, validated or tested, or tuned (e.g., weights or parameters, such as connection weights of a neural network, associated with the model's input data).

[0078] 2B illustrates a system 200B including a dataset generator 272B for generating a dataset for one or more supervised machine learning models (e.g., model 190 of FIG. 1). The dataset generator 272B may generate a dataset (e.g., data input 210B, target output 220) using historical data and / or synthetic sensor data (e.g., output from synthetic data generator 174 of FIG. 1). In some embodiments, the synthetic sensor data may be utilized to train an unsupervised machine learning model, e.g., the target output 220 may not be generated by the dataset generator 272B. The dataset generator 272B may share many features and functionality with the dataset generator 272A.

[0079] The dataset generator 272B may generate a dataset for training, testing, and validating a machine learning model. The machine learning model is provided with the set of historical sensor data 245A and / or the set of synthetic sensor data 262A as data inputs 210B. The machine learning model may be configured to accept current sensor data as input data and generate prediction data, clustering data, anomaly detection data, etc. as output. In some embodiments, generating historical sensor data may be costly. A dataset may be generated that includes synthetic sensor data, which may reduce the cost of generating training data.

[0080] The dataset generator 272B may be used to generate data for any type of machine learning model that takes sensor trace data as input. The dataset generator 272B may be used to generate data for a machine learning model that generates predicted metrology data for a substrate. The dataset generator 272B may be used to generate data for a machine learning model configured to provide process control instructions. The dataset generator 272B may be used to generate data for a machine learning model configured to identify product anomalies and / or process equipment defects.

[0081] In some embodiments, a dataset generator 272B generates a dataset (e.g., a training set, a validation set, a test set) that includes one or more data inputs 210B (e.g., a training input, a validation input, a test input). The data inputs 210B may be provided to the training engine 182, the validation engine 184, or the test engine 186. The dataset may be used to train, validate, or test a machine learning model (e.g., model 190 of FIG. 1).

[0082] In some embodiments, the data input 210B may include one or more sets of data. As an example, the system 200B may generate a set of sensor data that may include one or more of sensor data from one or more types of sensors, combinations of sensor data from one or more types of sensors, patterns from sensor data from one or more types of sensors, and / or composite versions thereof.

[0083] In some embodiments, the dataset generator 272B may generate a first data input corresponding to the first set of historical sensor data 245A and / or the first set of synthetic sensor data 262A for training, validating, or testing a first machine learning model. The dataset generator 272B may generate a second data input corresponding to the second set of historical sensor data 245B and / or the second set of synthetic sensor data 262B for training, validating, or testing a second machine learning model.

[0084] In some embodiments, the dataset generator 272B generates a dataset (e.g., training set, validation set, test set) that includes one or more data inputs 210B (e.g., training inputs, validation inputs, test inputs) and may include one or more target outputs 220 corresponding to the data inputs 210B. The dataset may further include mapping data that maps the data inputs 210B to the target outputs 220. In some embodiments, the dataset generator 272B may generate data for training a machine learning model configured to perform predictions by generating a dataset that includes output prediction data 268. The data inputs 210B may also be referred to as "features," "attributes," or "information." In some embodiments, the dataset generator 272B may provide the dataset to the training engine 182, validation engine 184, or testing engine 186, where the dataset is used to train, validate, or test a model 190 (e.g., one of the machine learning models included in the model 190, the ensemble model 190, etc.).

[0085] FIG. 3 is a block diagram illustrating a system 300 for generating output data (e.g., synthetic sensor data 162 of FIG. 1 ) according to some embodiments. In some embodiments, the system 300 may be used with a machine learning model configured to generate synthetic trace sensor data (e.g., synthetic data generator 174 of FIG. 1 ). In some embodiments, the system 300 may be used with a machine learning model to determine corrective actions associated with manufacturing equipment. In some embodiments, the system 300 may be used with a machine learning model to determine defects in manufacturing equipment. In some embodiments, the system 300 may be used with a machine learning model to cluster or classify substrates. The system 300 may be used with a machine learning model associated with a manufacturing system that has different functionality than those listed above.

[0086] At block 310, the system 300 (e.g., a component of the forecasting system 110 of FIG. 1 ) performs data splitting (e.g., via the data set generator 172 of the server machine 170 of FIG. 1 ) of data used in training, validating, and / or testing the machine learning model. In some embodiments, the training data 364 includes historical data, such as historical sensor time trace data, historical measurement data, historical classification data (e.g., classification of whether a product meets a performance threshold), etc. In some embodiments, the training data 364 may include synthetic sensor data, such as synthetic sensor data generated by the synthetic data generator 174 of FIG. 1 . The training data 364 may undergo data splitting at block 310 to generate the training set 302, the validation set 304, and the test set 306. For example, the training set may be 60% of the training data, the validation set may be 20% of the training data, and the test set may be 20% of the training data.

[0087] The generation of the training set 302, validation set 304, and test set 306 can be tailored to a particular application. For example, the training set can be 60% of the training data, the validation set can be 20% of the training data, and the test set can be 20% of the training data. The system 300 can generate multiple sets of features for each of the training set, validation set, and test set. For example, if the training data 364 includes sensor data from 20 sensors (e.g., sensor 126 of FIG. 1) and sensor data including features derived from 10 manufacturing parameters (e.g., manufacturing parameters corresponding to the sensor data from the 20 sensors), the sensor data can be divided into a first set of features including sensors 1-10 and a second set of features including sensors 11-20. Additionally, the manufacturing parameters can be divided into multiple sets, for example, a first set of manufacturing parameters including parameters 1-5 and a second set of manufacturing parameters including parameters 6-10. The target inputs may be split into multiple sets, the target outputs may be split into multiple sets, both the target inputs and the target outputs may be split into multiple sets, or neither the target inputs nor the target outputs may be split into multiple sets. Multiple models may be trained on different sets of data.

[0088] At block 312, the system 300 performs model training (e.g., via the training engine 182 of FIG. 1 ) using the training set 302. Training of machine learning models and / or training of models based on physical phenomena (e.g., digital twins) may be accomplished with a supervised learning method, which involves feeding a training dataset of labeled inputs through the model, observing its output, defining an error (by measuring the difference between the output and the label value), and tuning the weights of the model such that the error is minimized using techniques such as deep gradient descent and backpropagation. In many applications, repeating this process across many labeled inputs of the training dataset gives a model that can generate correct outputs when presented with inputs different from those present in the training dataset. In some embodiments, training of machine learning models may be accomplished in an unsupervised manner, e.g., no labels or classifications may be provided during training. Unsupervised models may be configured for anomaly detection, outcome clustering, and the like.

[0089] For each training data item in the training dataset, the training data item may be input to a model (e.g., a machine learning model). The model may then process the input training data item (e.g., a process recipe from a historical processing run) to generate an output. The output may include, for example, a synthetic sensor reading. The output may be compared to the label of the training data item (e.g., the actual measured sensor reading).

[0090] Processing logic may then compare the generated output (e.g., synthetic sensor readings) with the labels (e.g., actual sensor readings) included in the training data items. Processing logic determines an error (i.e., classification error) based on the difference between the output and the label. Processing logic adjusts one or more weights and / or values ​​of the model based on this error.

[0091] When training the neural network, an error term or delta may be determined for each node of the artificial neural network. Based on this error, the artificial neural network adjusts one or more of the parameters of the artificial neural network (weights for one or more inputs of a node) for one or more of the nodes of the artificial neural network. The parameters may be updated in a backpropagation manner, with the nodes in the top layer being updated first, followed by the nodes in the next layer, and so on. The artificial neural network includes multiple layers of "neurons", each layer receiving as inputs values ​​from neurons in the previous layer. The parameters for each neuron include weights associated with the values ​​received from each of the neurons in the previous layer. Adjusting the parameters may therefore include adjusting weights assigned to each of the inputs to one or more neurons in one or more layers of the artificial neural network.

[0092] The system 300 may train multiple models using multiple sets of features from the training set 302 (e.g., a first set of features from the training set 302, a second set of features from the training set 302, etc.). For example, the system 300 may train a model to generate a first trained model using a first set of features in the training set (e.g., sensor data from sensors 1-10) and to generate a second trained model using a second set of features in the training set (e.g., sensor data from sensors 11-20). In some embodiments, the first trained model and the second trained model may be combined to generate a third trained model (e.g., which may be a better predictor or synthetic data generator than the first or second trained models alone). In some embodiments, the sets of features used in comparing the models may overlap (e.g., the first set of features may be sensor data from sensors 1-15 and the second set of features may be sensors 5-20). In some embodiments, hundreds of models may be generated, including models with various permutations of features and combinations of models.

[0093] At block 314, the system 300 performs model validation (e.g., via validation engine 184 of FIG. 1 ) using the validation set 304. The system 300 may validate each of the trained models using a corresponding set of features in the validation set 304. For example, the system 300 may validate a first trained model using a first set of features in the validation set (e.g., sensor data from sensors 1-10) and a second trained model using a second set of features in the validation set (e.g., sensor data from sensors 11-20). In some embodiments, the system 300 may validate hundreds of models (e.g., models with various permutations of features, combinations of models, etc.) generated at block 312. At block 314, the system 300 may determine the accuracy of each of the one or more trained models (e.g., via model validation) and may determine whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to determining that none of the trained models have an accuracy that meets the threshold accuracy, flow returns to block 312, where the system 300 performs model training using a different set of features from the training set. In response to determining that one or more of the trained models have an accuracy that meets the threshold accuracy, flow proceeds to block 316. The system 300 may discard trained models that have an accuracy lower than the threshold accuracy (e.g., based on a validation set).

[0094] At block 316, the system 300 performs model selection (e.g., via selection engine 185 of FIG. 1 ) to determine which model of the one or more trained models that meet the threshold accuracy has the highest accuracy (e.g., selected model 308 based on the check of block 314). In response to determining that two or more of the trained models that meet the threshold accuracy have the same accuracy, flow may return to block 312, where the system 300 performs model training to determine the trained model with the highest accuracy using a further refined training set corresponding to the further refined set of features.

[0095] At block 318, the system 300 performs model testing (e.g., via the test engine 186 of FIG. 1 ) using the test set 306 to test the selected model 308. The system 300 may test the first trained model using a first set of features in the test set (e.g., sensor data from sensors 1-10) to determine that the first trained model meets a threshold accuracy (e.g., based on the first set of features of the test set 306). In response to the accuracy of the selected model 308 not meeting the threshold accuracy (e.g., the selected model 308 is too well-fitted to the training set 302 and / or the validation set 304 and cannot be applied to other data sets, such as the test set 306), flow proceeds to block 312, where the system 300 performs model training (e.g., retraining) using a different training set (e.g., sensor data from a different sensor) corresponding to a different set of features. In response to determining that the selected model 308 has an accuracy that meets the threshold accuracy based on the test set 306, flow proceeds to block 320. At least in block 312, the model may learn patterns in the training data to make predictions or to create synthetic data, and in block 318, the system 300 may apply the model to the remaining data (e.g., the test set 306) to test the predictions.

[0096] At block 320, the system 300 uses the trained model (e.g., the selected model 308) to receive current data 322 (e.g., current sensor data 146 of FIG. 1 ) and determine (e.g., extract) output data 324 (e.g., predicted data 168 of FIG. 1 ) from the output of the trained model. Corrective actions may be taken in conjunction with the manufacturing equipment 124 of FIG. 1 in light of the output data 324. In some embodiments, the current data 322 may correspond to the same type of features of the historical data used to train the machine learning model. In some embodiments, the current data 322 may correspond to the same type of features as a subset of the type of features of the historical data used to train the selected model 308.

[0097] In some embodiments, the operation of using the trained model in block 320 may not include providing the current data 322 to the selected model 308. In some embodiments, the selected model 308 may be configured to generate synthetic trace sensor data. Training may include providing true trace sensor data to the machine learning model. The training data (e.g., training set 302) may include attribute data. The attribute data may include information that labels the training data, such as an indication of which tool is associated with the data, the type and ID of the sensor, an indication of the service life of the tool (e.g., time since the tool was installed, time since the previous maintenance event, etc.), an indication of a defect or impending defect in the manufacturing equipment that may be reflected in the training data, etc. Using the selected model 308 may include providing instructions to the model that instruct it to generate synthetic trace sensor data. Using the selected model 308 may include providing one or more attributes. The generated data may conform to the one or more attributes, such as synthetic data that resembles data from a particular sensor, data collected when a defect is present in the manufacturing equipment, etc.

[0098] In some embodiments, the performance of a machine learning model trained, validated, and tested by the system 300 may deteriorate. For example, a manufacturing system associated with the trained machine learning model may undergo gradual or sudden changes. As a result of the changes in the manufacturing system, the performance of the trained machine learning model may deteriorate. A new model may be generated to be used to replace the degraded machine learning model. The new model may be generated by modifying the old model by retraining, by generating a new model, etc. In some embodiments, a combination of several types of data may be used for retraining. In some embodiments, a combination of current data 322 and additional training data 346 may be used for training. The additional training data may include many of the same types of data as the training data 364, such as historical data, synthetic data, etc.

[0099] In some embodiments, one or more of operations 310-320 may be performed in various orders and / or together with other operations not presented and described herein. In some embodiments, one or more of operations 310-320 may not be performed. For example, in some embodiments, one or more of data partitioning of block 310, model validation of block 314, model selection of block 316, or model testing of block 318 may not be performed.

[0100] 3 illustrates a system configured to train, validate, test, and use one or more machine learning models. The machine learning models are configured to accept data (e.g., set points provided to manufacturing equipment, sensor data, measurement data, etc.) as input and provide data (e.g., prediction data, corrective action data, classification data, etc.) as output. In some embodiments, the models may receive manufacturing parameters and sensor data and may be configured to output a list of components predicted to contribute to defects in the manufacturing system. The partition, train, validate, select, test, and use blocks of the system 300 may be similarly performed to train a second model using a different type of data. Additionally, retraining may be performed using the current data 322 and / or additional training data 346.

[0101] 4A-C are flow diagrams of methods 400A-C associated with training and utilizing a machine learning model, according to certain embodiments. Methods 400A-C may be performed by processing logic, which may include hardware (e.g., circuits, dedicated logic circuits, programmable logic circuits, microcode, processing devices, etc.), software (e.g., instructions executed on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or combinations thereof. In some embodiments, methods 400A-C may be performed in part by prediction system 110. Method 400A may be performed in part by prediction system 110 (e.g., server machine 170 and dataset generator 172 of FIG. 1, dataset generators 272A-272B of FIG. 2A-B). Prediction system 110 may use method 400A to generate a dataset for performing at least one of training, validating, or testing a machine learning model according to embodiments of the present disclosure. Methods 400B-C may be executed by prediction server 112 (e.g., prediction component 114) and / or server machine 180 (e.g., training, validation, and testing operations may be executed by server machine 180). In some embodiments, a non-transitory storage medium stores instructions that, when executed by a processing device (e.g., a processing device of prediction system 110, a processing device of server machine 180, a processing device of prediction server 112, etc.), cause the processing device to perform one or more of methods 400A-C.

[0102] For ease of explanation, methods 400A-C are illustrated and described as a series of operations. However, operations in accordance with the present disclosure may be performed in various orders and / or simultaneously, as well as with other operations not shown and described herein. Moreover, not all illustrated operations may be performed to implement methods 400A-C in accordance with the disclosed subject matter. Furthermore, those skilled in the art will understand and appreciate that methods 400A-C may also be represented as a series of interrelated states via a state diagram or events.

[0103] 4A is a flow diagram of a method 400A for generating a dataset for a machine learning model, according to some embodiments. Referring to FIG. 4A, in some embodiments, at block 401, processing logic performing the method 400A initializes a training set T to be an empty set.

[0104] At block 402, processing logic generates a first data input (e.g., a first training input, a first validation input), which may include one or more of sensor, manufacturing parameters, metrology data, etc. In some embodiments, this first data input may include a first set of features for a type of data, and the second data input may include a second set of features for a type of data (e.g., as described with respect to FIG. 3). In embodiments, the input data may include historical data and / or synthetic data.

[0105] In some embodiments, at block 403, the processing logic optionally generates a first target output for one or more of these data inputs (e.g., the first data input). In some embodiments, this first target output is predictive data. In some embodiments, the input data may be in the form of sensor data and the target output may also be a list of components that are likely to be defective, such as in the case of a machine learning model configured to identify a faulty manufacturing system. In some embodiments, no target output is generated (e.g., an unsupervised machine learning model that can group or find correlations in the input data without needing to provide a target output). In some embodiments, the unsupervised machine learning model may be configured to generate synthetic trace sensor data.

[0106] At block 404, processing logic optionally generates mapping data indicating an input / output mapping. This input / output mapping (or mapping data) may relate to a data input (e.g., one or more of the data inputs described herein), a target output for the data input, and an association between the data input and the target output. In some embodiments, such as those associated with machine learning models in which no target output is provided, block 404 may not be performed.

[0107] In some embodiments, at block 405, processing logic adds the mapping data generated at block 404 to the dataset T.

[0108] At block 406, processing logic branches based on whether the dataset T is sufficient for at least one of training, validating, and / or testing a machine learning model, such as synthetic data generator 174 or model 190 of FIG. 1. If so, execution proceeds to block 407; if not, execution returns to block 402. It should be noted that in some embodiments, whether the dataset T is sufficient may be determined simply based on the number of inputs in the dataset, and in some embodiments based on the number of inputs in the dataset that are mapped to outputs, and in some other embodiments, whether the dataset T is sufficient may be determined based on one or more other criteria (e.g., measures of diversity of data examples, accuracy, etc.) in addition to or instead of the number of inputs.

[0109] At block 407, the processing logic provides the dataset T (e.g., to the server machine 180) for training, validating, and / or testing the machine learning model 190. In some embodiments, the dataset T is a training set, and the dataset T is provided to the training engine 182 of the server machine 180 to perform training. In some embodiments, the dataset T is a validation set, and the dataset T is provided to the validation engine 184 of the server machine 180 to perform validation. In some embodiments, the dataset T is a test set, and the dataset T is provided to the test engine 186 of the server machine 180 to perform testing. For example, in the case of a neural network, the input values ​​of a given input / output mapping (e.g., the numerical values ​​associated with the data inputs 210B) are input to the neural network, and the output values ​​of the input / output mapping (e.g., the numerical values ​​associated with the target outputs 220) are stored in the output nodes of the neural network. The connection weights of the neural network are then adjusted according to a learning algorithm (e.g., backpropagation, etc.), and the procedure is repeated for the remaining input / output mappings of the dataset T. After block 407, the model (e.g., model 190) may be at least one of trained using the training engine 182 of the server machine 180, validated using the validation engine 184 of the server machine 180, or tested using the testing engine 186 of the server machine 180. The trained model may be implemented by the prediction component 114 (of the prediction server 112) to generate predicted data 168 for performing signal processing, to generate synthetic sensor data 162, or to perform corrective actions related to the manufacturing equipment 124.

[0110] FIG. 4B is a flow diagram of a method 400B for generating synthetic time series sensor data (e.g., synthetic time trace data) according to some embodiments. At block 410 of method 400B, processing logic provides random or pseudo-random inputs to a trained machine learning model. The trained machine learning model is configured to generate synthetic sensor time series data for a process chamber. The trained machine learning model is provided with random or pseudo-random seed numbers to enable generation of different synthetic time traces. In some embodiments, these random numbers have no physical meaning, e.g., these random numbers do not correspond to data values ​​at some points of the time trace. In some embodiments, the trained machine learning model includes one or more generators and one or more discriminators. In some embodiments, the trained machine learning model is a generative adversarial network (GAN). An example architecture of a GAN model is presented in more detail in connection with FIGS. 5A-B. In some embodiments, the random inputs are provided to the generator.

[0111] At block 412, the processing logic provides data to the trained machine learning model indicating one or more attributes of the target synthetic sensor time series data. The attribute data may be indicative of one or more conditions of the target synthetic sensor time series. The attribute data may be indicative of a manufacturing system, a product design, a sensor ID, a system fault, a service life, etc. In some embodiments, the synthetic data is used to train the machine learning model to recognize a particular situation. Providing the attribute data to the generator enables the generation of a large amount of data related to the situation, such as a particular system fault.

[0112] At block 414, processing logic receives output from the trained machine learning model. The output includes synthetic trace sensor data associated with the process chamber. The output was generated taking into account one or more attributes. In some embodiments, the synthetic data output may be used to train a second machine learning model.

[0113] FIG. 4C is a flow diagram of a method 400C for generating and using synthetic sensor trace data, according to some embodiments. At block 420, processing logic provides historical data including trace sensor data (e.g., time series data) as training input for training a first machine learning model. This first machine learning model may be a GAN. The input data may be provided with one or more associated attributes, e.g., data indicative of tool ID, sensor ID, process recipe, service life, etc. The GAN may utilize a discriminator model to train the generator model. The trace sensor data may include data from many types of sensors associated with the manufacturing system, processing chamber, etc. In some embodiments, the time trace sensor data may include a measure of energy delivered to a high frequency component of the processing chamber, such as a high frequency plasma generating component. The time trace sensor data may include a frequency, power, voltage, or current delivered to such a component. In some embodiments, the time trace sensor data may include a measure of one or more of power, voltage, or current delivered to a heating device. In some embodiments, the time trace sensor data may include a power, voltage, or current delivered to a substrate support. In some embodiments, the time trace sensor data may include pressure or temperature.

[0114] At block 421, the processing logic provides data to the trained first machine learning model indicating one or more attributes of the target synthetic sensor time series data. The provided attributes may reflect one or more time traces of interest, e.g., one or more conditions under which the bulk of the synthetic sensor data is generated. The trained first machine learning model may be provided with a set of random or pseudorandom numbers. The random input may be used as a seed for generating the synthetic data. At block 422, the processing logic receives an output from the trained first machine learning model. The output includes the synthetic trace sensor data. The output data may further include data indicating one or more associated attributes. The operations of blocks 421 and 422 may share characteristics with the operations of FIG. 4B.

[0115] At block 423, the processing logic provides this output from the trained first machine learning model as a training input for training a second machine learning model. In some embodiments, this output data is provided along with historical sensor data, e.g., true sensor data collected during one or more processing runs. The processing logic provides data indicative of at least one attribute of the one or more attributes as a target output for training the second machine learning model. In some embodiments, synthetic data is generated to train a model to predict defects, anomalies, or predicted performance of manufacturing equipment that has been in operation for a period of time. In some embodiments, synthetic data may be generated that is related to a particular tool, sensor, product design, etc. Such information may be provided as attribute data to train the second machine learning model.

[0116] At block 424, the processing logic provides the current sensor data to the trained second machine learning model. The trained second machine learning model may be configured to accept the sensor data as input and generate predicted data as output, such as predicted metrology data, predicted anomalies in a product, predicted defects in a manufacturing system, predicted progress of a processing operation, etc. At block 425, the processing logic receives the predicted data output from the trained second machine learning model. At block 426, corrective action is performed in light of the output from the trained second machine learning model. The corrective action may include scheduling maintenance on processing equipment, updating a process recipe, sending an alert to a user, etc.

[0117] 5A-B are diagrams illustrating a process and architecture for training and operating a generative adversarial network, according to some embodiments. FIG. 5A illustrates a simple GAN 500A. During training, input data 502 is provided to a discriminator 508. The discriminator 508 is configured to distinguish whether the input data 502 is real data or synthetic data. The discriminator 508 is trained until it achieves acceptable accuracy. The accuracy parameter may be tuned based on the application, for example, based on the amount of available training data.

[0118] In some embodiments, input data 502 (e.g., drawn from the same data set as the data used to train the discriminator 508) may be provided to the generator 506 to train it to generate plausible synthetic data. The generator 506 is provided with a random input, such as noise 504, e.g., a fixed-length vector of pseudorandom values. The generator 506 uses this random input as a seed to generate synthetic data. The generator 506 provides this synthetic data to the discriminator 508. The discriminator 508 is further provided with additional input data 502 (e.g., true data drawn from the same set as the data used to train the discriminator 508). The discriminator 508 attempts to distinguish the input data 502 from the synthetic data provided by the generator 506.

[0119] The discriminator 508 provides classification results (e.g., whether each data set provided to the discriminator 508 was labeled as true or synthetic) to a classification validation module 510. The classification validation module 510 determines whether one or more data sets were correctly labeled by the discriminator 508. Both the discriminator 508 and the generator 506 are provided with feedback data indicating the labeling accuracy (e.g., feedback data indicating how accurately the discriminator distinguished the synthetic sensor time series data from the measured sensor time series data). Both the generator 506 and the discriminator 508 are updated in light of the information received from the classification validation module 510. The generator 506 is updated to generate synthetic data that better reproduces the characteristics of the input data 502, e.g., to generate synthetic data that is more frequently labeled as true data by the discriminator 508. The discriminator 508 is updated to improve its accuracy in distinguishing true data from synthetic data. The training process may be repeated until the generator 506 reaches an accuracy threshold, for example, until a sufficiently large portion of the data generated by the generator 506 is not correctly classified by the discriminator 508.

[0120] 5B is a block diagram illustrating an example GAN 500B operation process for generating synthetic trace data, in accordance with some embodiments. In some embodiments, the example GAN 500B may include many of the features discussed in connection with FIG. 5A.

[0121] In some embodiments, the GAN 500B includes a set of generators 520 and a set of discriminators 530. In some embodiments, the discriminators 530 are trained by providing input data 536 to the discriminators 530. The discriminators 530 are configured to distinguish between real data and synthetic data. The generators 520 may be configured to generate synthetic data. The generators 520 may be provided with noise 512, e.g., random or pseudorandom input, as a seed.

[0122] In some embodiments, the GAN 500B may include multiple generators 520 and / or multiple discriminators 530. The discriminators 530 may be configured to accept output data from different generators or sets of generators. In some embodiments, the generators 520 may be configured to generate attribute data via the attribute generator 522 and generate associated data (e.g., synthetic sensor time trace data) via the feature generator 526. In some embodiments, the feature generator 526 is configured to generate normalized data (e.g., synthetic sensor data having values ​​ranging from 0 to 1), and the min / max generator 524 is configured to generate minimum and maximum values ​​for that data. In some embodiments, an approach that separates the min / max generator 524 from the feature generator 526 may improve the performance of the generator 520.

[0123] In some embodiments, noise 512 may be provided to the attribute generator 522 and the min / max generator 524. In some embodiments, each generator of the generators 520 may be provided with a different set of noise (e.g., a different set of random inputs). In some embodiments, the output of the attribute generator 522 and the min / max generator 524 (e.g., the composite attribute data and the composite min / max data) may be provided to an auxiliary discriminator 532. The auxiliary discriminator 532 may determine whether the attribute and min / max combination is likely to be associated with true data. A preliminary determination may be performed to conserve processing power in generating and / or discriminating the synthetic data from the feature generator 526. The output of the generators 520 may all be provided to a discriminator 534. The discriminator 534 may distinguish true data, including attribute data, min / max data, trace sensor data, etc., from synthetic data. In some embodiments, the min / max generator 524 may be an optional feature, e.g., the GAN 500B may be configured to normalize the data from the feature generator 526 or to generate the data values ​​by the feature generator 526.

[0124] In some embodiments, the feature generator 526 may include a machine learning generator model designed to generate sequential or time trace (e.g., time series) data. In some embodiments, the feature generator 526 may include a recurrent neural network. A recurrent neural network routes at least some output of a neuron (e.g., the generated time trace data) to the input of another neuron (e.g., a neuron associated with a later time point). In some embodiments, a recurrent neural network may essentially include a single neuron whose output is cycled back as an input to generate a series of synthetic data. A recurrent neural network may learn an input-output mapping that depends on both current and past inputs. In this way, later data points may depend on earlier data points, and sequential or time series data may be generated.

[0125] In some embodiments, the synthetic data may include a target shape or pattern. For example, spikes in the data values ​​recorded by the sensor may be simulated. In some embodiments, the feature generator 526 may accept instructions to facilitate the generation of synthetic data including the target shape or pattern. A range or distribution of positions (e.g., time positions), values, shapes, etc. may be provided to the feature generator 526. The feature generator 526 may generate data having the target shape or pattern represented according to a distribution of characteristics, for example, spikes may appear in many sets of synthetic trace sensor data within one position range reaching one height range and having one width range.

[0126] In some embodiments, the synthetic data (e.g., data output from generator 520) may be utilized to train one or more machine learning models. In some embodiments, the synthetic data may be utilized to train a machine learning model configured for event detection, e.g., a machine learning model configured to determine whether trace data is within normal variation or indicative of a system anomaly. In some embodiments, the synthetic data may be utilized to generate a robust model, where synthetic data may be generated that has a higher noise level than the true data, and a machine learning model trained with the synthetic data may be able to provide useful outputs for a wider variety of inputs than a model trained only on the true data. In some embodiments, the synthetic data may be utilized to test a model for robustness. In some embodiments, the synthetic data may be utilized to generate a model for anomaly detection and / or classification. In some embodiments, the synthetic data may be provided as a training input to train a machine learning model, and one or more attribute data (e.g., attribute data indicative of a system fault) may be provided as a target output to train a machine learning model. In some embodiments, the attribute data may include an indication of the service life of the manufacturing system, such as the time since the system was installed, the number of products produced since the system was installed, the time since the last maintenance event, or the number of products produced since the last maintenance event.

[0127] FIG. 6 is a block diagram illustrating a computer system 600 according to some embodiments. In some embodiments, the computer system 600 may be connected to other computer systems (e.g., via a network such as a local area network (LAN), an intranet, an extranet, or the Internet). The computer system 600 may operate in the capacity of a server or a client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. The computer system 600 may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a server, a network router, a switch or bridge, or any other device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the device. Furthermore, the term "computer" is intended to include a collection of computers that individually or jointly execute a set (or sets) of instructions to perform any one or more of the methods described herein.

[0128] In an additional aspect, computer system 600 may include a processing device 602, a volatile memory 604 (e.g., random access memory (RAM)), a non-volatile memory 606 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 618, which may communicate with each other via a bus 608.

[0129] The processing device 602 may be provided by one or more processors, such as a general-purpose processor (e.g., a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a combination of types of instruction sets), or a specialized processor (e.g., an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).

[0130] Computer system 600 may further include a network interface device 622 (e.g., coupled to a network 674). Computer system 600 may further include a video display unit 610 (e.g., an LCD), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generating device 620.

[0131] In some embodiments, the data storage device 618 may include a non-transitory computer-readable storage medium 624 (e.g., a non-transitory machine-readable medium) having stored thereon instructions 626 encoding one or more of the methods or functions described herein, including instructions encoding the components of FIG. 1 (e.g., the prediction component 114, the corrective action component 122, the model 190, etc.) and instructions for performing the methods described herein.

[0132] The instructions 626 may further reside, completely or partially, within the volatile memory 604 and / or within the processing device 602 during execution of the instructions 626 by the computer system 600, and thus the volatile memory 604 and the processing device 602 may also constitute machine-readable storage media.

[0133] While the computer-readable storage medium 624 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" is intended to include a single medium or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) that store one or more sets of executable instructions. The term "computer-readable storage medium" is further intended to include any tangible medium that can store or encode a set of instructions for execution by a computer that causes the computer to perform one or more of the methods described herein. The term "computer-readable storage medium" is intended to include, but is not limited to, solid-state memory, optical media, and magnetic media.

[0134] The methods, components, and features described herein may be implemented by discrete hardware components or may be integrated into the functionality of other hardware components, such as an ASIC, FPGA, DSP, or similar device. Additionally, the methods, components, and features described herein may be implemented by firmware modules or by functional circuits within a hardware device. Additionally, the methods, components, and features described herein may be implemented in any combination of hardware devices and computer program components, or in a computer program.

[0135] Unless otherwise indicated, terms such as "receive," "perform," "provide," "obtain," "perform," "access," "determine," "add," "use," "train," "reduce," "generate," "correct," or other similar terms, refer to operations and processes performed or implemented by a computer system that manipulate and convert data in computer system registers and memory, represented as physical (electronic) quantities, into other data in the computer system memory or registers, or other such information storage, transmission, or display devices, also represented as physical quantities. Furthermore, terms such as "first," "second," "third," "fourth," etc., as used herein, are meant as markers to distinguish between different elements and may not have an ordinal meaning based on the numerical designation of those terms.

[0136] The examples described herein further relate to apparatus for carrying out the methods described herein. The apparatus may be specially constructed for carrying out the methods described herein, or may include a general-purpose computer system that is selectively programmed by a computer program stored in the computer system. Such a computer program may be stored in a computer-readable tangible storage medium.

[0137] The methods and illustrative examples described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatus to perform the methods described herein and / or each of the individual functions, routines, subroutines or operations of those methods. Example structures for these various systems are provided in the description above.

[0138] The above description is intended to be illustrative and not limiting. Although the present disclosure has been described with reference to certain illustrative examples and embodiments, it will be recognized that the present disclosure is not limited to the described examples and embodiments. The scope of the present disclosure should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

1. providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time series data for the process chamber; providing first data indicative of one or more attributes of a target synthetic sensor time series data to the first trained machine learning model; and receiving an output from the first trained machine learning model, the output including synthetic sensor time series data associated with the process chamber, the output generated taking into account the first data indicative of one or more attributes; The method includes:

2. Training the first machine learning model. training the model further comprises: causing the first machine learning model to generate synthetic sensor time series data; providing the synthetic sensor time series data to a second machine learning model; providing measured sensor time series data to the second machine learning model, the second machine learning model configured to distinguish between synthetic sensor time series data and measured sensor time series data; providing feedback data to the first machine learning model indicating how accurately the second machine learning model distinguished the synthetic sensor time series data from the measured sensor time series data; and updating the first machine learning model such that the second machine learning model generates synthetic sensor time series data that is less accurately distinguished from the measured sensor time series data. The method of claim 1 , comprising:

3. The method of claim 1 , wherein the first trained machine learning model comprises a generative adversarial network generator.

4. The method of claim 1 , wherein the first trained machine learning model comprises a recurrent neural network model.

5. The composite sensor time series data is the power, voltage or current supplied to components of the processing chamber; Pressure, or temperature The method of claim 1 , further comprising:

6. Training a second machine learning model and training the second machine learning model further comprises: providing the output composite sensor time series data as a training input to the second machine learning model; and providing first data indicative of one or more attributes associated with the output composite sensor time series data to the second machine learning model as a target output; the second machine learning model is configured to predict an attribute of the process chamber based on measured sensor time series data of the process chamber. The method of claim 1 , comprising:

7. 7. The method of claim 6, wherein the second machine learning model is configured to detect one or more anomalies associated with measured sensor time series data of the process chamber.

8. The attributes of the target synthetic sensor time series data are time since the processing chamber was installed; the time since the previous maintenance event for the processing chamber; or A defect present in the processing chamber The method of claim 1 , comprising one or more of:

9. 1. A system including a memory and a processing device coupled to the memory, the processing device comprising: providing random or pseudo-random inputs to a first trained machine learning model, the first trained machine learning model being trained to generate synthetic sensor time series data for the process chamber; providing first data indicative of one or more attributes of a target synthetic sensor time series data to the first trained machine learning model; and receiving an output from the first trained machine learning model, the output including synthetic sensor time series data associated with the process chamber, the output generated taking into account the first data indicative of one or more attributes; A system configured to run

10. the processing device further comprising: training the first machine learning model; training the model, causing the first machine learning model to generate synthetic sensor time series data; providing the synthetic sensor time series data to a second machine learning model; providing measured sensor time series data to the second machine learning model, the second machine learning model configured to distinguish between synthetic sensor time series data and measured sensor time series data; providing feedback data to the first machine learning model indicating how accurately the second machine learning model distinguished the synthetic sensor time series data from the measured sensor time series data; and updating the first machine learning model such that the second machine learning model generates synthetic sensor time series data that is less accurately distinguished from the measured sensor time series data. The system of claim 9 , comprising:

11. 10. The system of claim 9, wherein the first trained machine learning model comprises a generative adversarial network generator.

12. 10. The system of claim 9, wherein the first trained machine learning model comprises a recurrent neural network model.

13. The composite sensor time series data is Radio frequency plasma generating components; Heating device, or Substrate Support power, voltage or current supplied to one or more of Pressure, or temperature 10. The system of claim 9, further comprising data corresponding to one or more of:

14. the processing device further comprising: To train a second machine learning model training the second machine learning model, providing the output composite sensor time series data as a training input to the second machine learning model; and providing first data indicative of one or more attributes associated with the output composite sensor time series data to the second machine learning model as a target output, the second machine learning model configured to predict an attribute of the process chamber based on the measured sensor time series data of the process chamber. The system of claim 9 , comprising:

15. 15. The system of claim 14, wherein the second machine learning model is configured to detect one or more anomalies associated with measured sensor time series data of the process chamber.

16. The attributes of the target synthetic sensor time series data are time since the processing chamber was installed; the time since the previous maintenance event for the processing chamber; or A defect present in the processing chamber The system of claim 9 , comprising one or more of:

17. A non-transitory computer readable storage medium having instructions stored thereon that, when executed, perform the following steps: providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time series data for the process chamber; providing first data indicative of one or more attributes of a target synthetic sensor time series data to the first trained machine learning model; and receiving an output from the first trained machine learning model, the output being generated taking into account the first data including synthetic sensor time series data associated with the process chamber and indicative of one or more attributes; A non-transitory machine-readable storage medium that causes a processing device to perform operations including

18. The operation is Training the first machine learning model. training the model further comprises: causing the first machine learning model to generate synthetic sensor time series data; providing the synthetic sensor time series data to a second machine learning model; providing measured sensor time series data to the second machine learning model, the second machine learning model configured to distinguish between synthetic sensor time series data and measured sensor time series data; providing feedback data to the first machine learning model indicating how accurately the second machine learning model distinguished the synthetic sensor time series data from the measured sensor time series data; and updating the first machine learning model such that the second machine learning model generates synthetic sensor time series data that is less accurately distinguished from the measured sensor time series data.

20. The non-transitory machine-readable storage medium of claim 17, comprising:

19. The attributes of the target synthetic sensor time series data are the time since the processing chamber was installed; the time since the previous maintenance event for the processing chamber; or A defect present in the processing chamber 20. The non-transitory machine-readable storage medium of claim 17, comprising one or more of:

20. The operation is Training a second machine learning model and training the second machine learning model further comprises: providing the output composite sensor time series data as a training input to the second machine learning model; and providing first data indicative of one or more attributes associated with the output composite sensor time series data to the second machine learning model as a target output, the second machine learning model configured to predict an attribute of the process chamber based on the measured sensor time series data of the process chamber.

20. The non-transitory machine-readable storage medium of claim 17, comprising:

Citation Information

Patent Citations

  • Learning data generation device and learning data generation method

    JP2020154720A

  • Assessing conditions of industrial equipment and processes

    US20210012242A1

  • Monitoring of a washing program of a dishwasher machine

    US20210204791A1

  • Generative adversarial networks for time series

    US20210342703A1

  • Learning device, inference device and trained model

    WO2020050072A1