Synthetic time series data related to processing equipment
By generating synthetic time series data, the inefficiencies and costs associated with extensive real data collection for machine learning models in manufacturing equipment are mitigated, enhancing model robustness and reducing equipment wear.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- APPLIED MATERIALS INC
- Filing Date
- 2023-03-03
- Publication Date
- 2026-05-08
AI Technical Summary
Conventional machine learning models used in manufacturing equipment face challenges due to the need for extensive training data, which can be costly and inefficient, especially when chamber conditions change, leading to reduced predictive power and increased equipment wear.
Generating synthetic time series data using machine learning models, such as generative adversarial networks (GANs), to train models efficiently, reducing the reliance on extensive real data collection.
This approach enhances the robustness and efficiency of machine learning model training by minimizing material and energy consumption, reducing downtime, and improving model performance across varying chamber conditions.
Smart Images

Figure 0007855713000001 
Figure 0007855713000002 
Figure 0007855713000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to methods related to machine learning models. More specifically, the present disclosure relates to methods for generating and using synthetic data using a machine learning model related to a processing device.
Background Art
[0002] Products may be produced by performing one or more manufacturing processes using manufacturing equipment. For example, semiconductor manufacturing equipment may be used to produce substrates by a semiconductor manufacturing process. Products are produced such that certain characteristics are suitable for the target application. Machine learning models are used in various process control and prediction functions related to manufacturing equipment. Machine learning models are trained using data related to manufacturing equipment.
Summary of the Invention
[0003] The following is a simplified summary of the present disclosure to provide a basic understanding of some aspects of the present disclosure. This summary is not an extensive overview of the present disclosure. It is not intended to identify key or critical elements of the present disclosure, nor is it intended to limit the scope of particular embodiments or claims of the present disclosure. The sole purpose of this summary is to present some concepts of the present disclosure in a simplified form as a prelude to the more detailed description that follows.
[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 processing chamber. The method further includes providing the first trained machine learning model with first data indicating one or more attributes of the target synthetic sensor time series data. The method further includes receiving an output from the first trained machine learning model, which includes synthetic sensor time series data associated with the processing chamber, and which is generated taking into account the first data indicating one or more attributes.
[0005] In another aspect of this disclosure, a system is disclosed including a memory and a processing device coupled to the memory. The processing device is configured to perform an operation, which includes providing a first trained machine learning model with random or pseudo-random inputs. The first trained machine learning model is trained to generate synthetic sensor time-series data for a processing chamber. The operation further includes providing the first trained machine learning model with first data indicating one or more attributes of target synthetic sensor time-series data. The operation further includes receiving an output from the first trained machine learning model, which includes synthetic sensor time-series data associated with the processing chamber, and which is generated taking into account the first data indicating one or more attributes.
[0006] In another embodiment, a non-temporary machine-readable storage medium is disclosed. This non-temporary machine-readable storage medium stores instructions, which, when executed, cause a processing device to perform an operation. This operation includes providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time-series data for a processing chamber. This operation further includes providing the first trained machine learning model with first data indicating one or more attributes of the target synthetic sensor time-series data. This operation further includes receiving an output from the first trained machine learning model, which includes synthetic sensor time-series data associated with the processing chamber, and which is generated taking into account the first data indicating one or more attributes.
[0007] In the attached drawings, this disclosure is shown as an example and is not intended to limit it. [Brief explanation of the drawing]
[0008] [Figure 1] This block shows an exemplary system architecture in several embodiments. [Figure 2A] This is a block diagram of an exemplary dataset generator that generates datasets for a model, according to several embodiments. [Figure 2B] This is a block diagram of an exemplary dataset generator that generates datasets for a model, according to several embodiments. [Figure 3] A block diagram showing a system for generating output data according to several embodiments. [Figure 4A] This is a flowchart of a method related to generating one or more machine learning models for generating predictive data, according to several embodiments. [Figure 4B] This is a flowchart of a method related to generating one or more machine learning models for generating predictive data, according to several embodiments. [Figure 4C]This is a flowchart of a method related to generating one or more machine learning models for generating predictive data, according to several embodiments. [Figure 5A] This is a block diagram of an exemplary machine learning architecture for generating synthetic data, according to several embodiments. [Figure 5B] This is a block diagram of an exemplary machine learning architecture for generating synthetic data, according to several embodiments. [Figure 6] This is a block diagram showing computer systems in several embodiments. [Modes for carrying out the invention]
[0009] This specification describes techniques for generating synthetic time trace data, for example, 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 a manufacturing or processing chamber for isolating the substrate from the environment. The characteristics of the produced substrate should meet target values to facilitate specific functions. Manufacturing parameters are selected to produce substrates that meet the target characteristic values. Many manufacturing parameters (e.g., hardware parameters, process parameters, etc.) contribute to the characteristics of the processed substrate. The manufacturing system may control the parameters by specifying setpoints for the characteristic values, receiving data from sensors placed in the manufacturing chamber, and adjusting the manufacturing equipment until the sensor readings match the setpoints. In some embodiments, trained machine learning models are used to improve the performance of the manufacturing equipment.
[0010] Machine learning models can be applied in several ways related to processing chambers and / or manufacturing equipment. A machine learning model may take sensor data measuring characteristic values within the processing chamber as input. A machine learning model may be configured to predict process outcomes, such as measurement results of the finished product. A machine learning model may take input data related to a workpiece or substrate, such as reflectance spectroscopic data of a semiconductor wafer during an etching process. This machine learning model may be configured to predict and control process outcomes, for example, by predicting when the etching process will be complete and sending commands to the processing chamber to stop the etching operation. In some embodiments, a machine learning model may accept measurement data of the finished product as input. A machine learning model may be configured to generate predictions of the root cause of product anomalies (e.g., processing defects) as output. These are just a few representative examples of the use of machine learning in relation to manufacturing equipment, and there are many other possibilities.
[0011] In some embodiments, a large amount of time trace data, such as data associated with hundreds of processing runs, is used to train a machine learning model. The data may include many time traces, such as time traces associated with hundreds of sensors, time traces associated with multiple processing operations in a processing run, and so on.
[0012] In some embodiments, the performance of manufacturing equipment changes over time. In some processes, material may accumulate on chamber components as the product is processed; for example, substrate supports, valves and actuators, showerheads, etc., may accumulate layers of various processing materials or by-products. In some processes, material may be removed from various chamber components by, for example, corrosive gases or plasma. As the components of the manufacturing system gradually change, the conditions experienced by the workpiece (e.g., substrates, semiconductor wafers, etc.) may be affected. As the 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 a planned maintenance event, for example, as part of a maintenance event performed according to a schedule to maintain acceptable performance of the equipment. Some maintenance operations are performed as part of an unplanned maintenance event, for example, as part of a maintenance event initiated in response to a system defect, an unexpected failure of the system or a part, etc.
[0014] Slow drifts and sudden changes (e.g., maintenance, parts replacement) can alter the relationship between setpoints and characteristic values within the processing chamber. For example, as the chamber ages or heating elements are replaced, the setpoint of the heating device (e.g., the power supplied to the heating device) may result in a different temperature profile at the substrate location. In some embodiments, changes within the processing chamber can affect the relationship between sensor data and conditions near the substrate. Machine learning models trained to perform functions related to the processing equipment (e.g., to generate predictive data) may provide less reliable functionality when chamber conditions change.
[0015] Machine learning models may be configured to recognize, classify, or utilize rare features in trace data, for example, to classify defects in manufacturing equipment based on sensor data input. In some embodiments, the majority of processing runs do not indicate equipment defects. The majority of processing runs utilize properly functioning parts to generate normal processing conditions.
[0016] Training machine learning models can be costly. To make machine learning models accurate, they are generally trained using a large number of data samples. For example, a machine learning model may be configured to take sensor data as input and generate predictions of the measured values of the finished product as output. When training a machine learning model, measurement data and associated sensor data from many products (e.g., hundreds) may be provided to the machine learning model. A trained machine learning model may only provide useful (e.g., accurate) data for a narrow range of situations. For example, a trained machine learning model may only be applicable to one processing chamber, one board design, or one process recipe. Generating enough data to train a machine learning model may involve considerable consumption, such as raw materials, processing time, energy, reagents, equipment wear and cracking, and consumption for generating measurement data. Processing equipment may be operated without protection of predictive data from one or more machine learning models while training data is being generated. Processing equipment may be operated without predictive machine learning data under conditions that increase component wear. Operating under suboptimal conditions can shorten the lifespan of components.
[0017] The expenditure of generating enough training data to produce a machine learning model with considerable predictive power doubles when chamber quality is altered, for example, by drift or maintenance. When chamber quality changes (e.g., when parts experience drift or 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, measurements, etc., may be used to train the machine learning model. Such strategies involve generating large amounts of training data for the modified processing chamber. During the generation of this new training data, the chamber may be offline (e.g., not producing products for sale, for use). Processing systems may undergo periodic changes. Offline time (e.g., downtime for generating training data) may be inconvenient or costly.
[0018] The intended function of a machine learning model, such as anomaly detection or classification of the root cause of a defect, can further multiply the expenditure on generating sufficient training data. Defects in operational manufacturing systems are often rare. Many processing runs may be performed before a defect occurs. In some embodiments, a few processing runs may be performed before the defect is corrected. Under normal operation, it can take an excessive amount of time to collect enough data to indicate a defect. In some cases, manufacturing equipment with defects (e.g., faulty or outdated parts) may be intentionally operated to collect training data. In some cases, operating manufacturing equipment with defects may increase stress on the manufacturing system. Increased stress may shorten the lifespan of the manufacturing system and increase expenditures on parts, maintenance, downtime, and expedited parts.
[0019] The methods and devices of the present disclosure may address one or more of these drawbacks of conventional solutions. In some embodiments, one or more machine learning models associated with a processing chamber are trained. In some embodiments, the training data includes time trace data, such as sensor data. In some embodiments, a limited amount of training data is available. In some embodiments, a limited amount of one or more types of training data, such as data indicating impending defects in various subsystems, is available. In some embodiments, one or more machine learning models (e.g., an ensemble model including several parallel models) may be used to generate synthetic time trace training data.
[0020] Synthetic time trace data may be generated using a machine learning model. In some embodiments, a relatively small amount of true data (e.g., data collected by sensors during a processing run, measured sensor time series data) may be used to train the model to generate synthetic time trace data. The generator model may be configured to generate synthetic data that matches the distribution of the true data, e.g., synthetic data that is statistically similar to the true data.
[0021] In some embodiments, one or more attributes may be labeled in the data used to train the generator model. The attributes may include labels that identify the source of the data, such as sensor type, sensor location, processing recipe, or information regarding an operation. The attributes may include labels that identify the state of the manufacturing system, such as labels for defects present within processing equipment, indications of the time since manufacturing equipment was installed or serviced.
[0022] In some embodiments, the generation of synthetic data may involve the use of a generative adversarial network (GAN). A GAN is a type of machine learning model without a teacher (e.g., training inputs are provided to the model without providing a target output during the training operation). A basic GAN includes two parts, namely a generator and a discriminator. The generator generates synthetic data, such as time trace sensor data. Then, the discriminator is provided with the synthetic data and the true data, such as data collected by the sensors during a processing run. The discriminator attempts to label the data as true or synthetic (e.g., distinguish the synthetic data from the true data), and the generator attempts to generate synthetic data that the discriminator cannot distinguish as being synthetic. After the generator reaches the target efficiency (e.g., after the discriminator reaches a threshold portion of the output that does not classify the data as synthetic), the generator may be used to generate synthetic data for other uses.
[0023] In some embodiments, the generator may be configured to produce an output according to certain attributes, for example, an output relating to training data taken while a defect exists in the manufacturing equipment. In this way, a relatively small amount of training data may be used to train the GAN, and the generator may produce a large amount of data having features that indicate defects in the manufacturing equipment (for example, for use when training a machine learning model configured to predict defects). In some embodiments, a sufficient amount of training data is available to train a machine learning model, and that data is collected under well-controlled processing conditions. In some embodiments, well-controlled processing conditions may produce a dataset that captures little variation in conditions over many processing runs. In some embodiments, a machine learning model trained on similar data may lack robustness, for example, exhibiting imperfect performance even when relatively small changes in conditions occur. In some embodiments, the generator may be configured to produce a noisy output. This noisy output may be used to train a 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 strictly trained on true data.
[0024] The aspects of this disclosure offer technical advantages over conventional solutions. These aspects result in more efficient machine learning model training and data generation / collection. Machine learning model training may be performed using large amounts of data. In embodiments, a portion (e.g., a large portion, of choice) 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 intensified by varying chamber conditions (e.g., aging and drift, parts replacement, maintenance, etc.), rare target events (e.g., defect or anomaly detection), etc. Conventional systems may require numerous processing runs to generate training data. This can result in significant material waste, large amounts of chamber downtime, and energy consumption. In some embodiments, the machine learning model may or may not execute the processing chamber control system. These processing chambers may be operated outside of the ideal conditions for generating the training data (e.g., without the assistance of the associated control model). The methods for generating training data presented in this disclosure may reduce material consumption, time consumption, energy consumption, and uncontrolled chamber use when generating data for training (or retraining) machine learning models. In some embodiments, a defective chamber may be intentionally operated to generate training data that points to that defect. Doing so may place additional stress on components in a manufacturing system, such as shortening part lifespan or increasing maintenance frequency. Such consumption may be reduced by generating synthetic data using machine learning models. 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 with a specific set of attributes).
[0025] Aspects of this disclosure describe a method comprising providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time-series data for a processing chamber. The method further comprises providing the first trained machine learning model with first data indicating one or more attributes of target synthetic sensor time-series data. The method further comprises receiving an output from the first trained machine learning model, which comprises synthetic sensor time-series data associated with the processing chamber, and which is generated taking into account the first data indicating one or more attributes.
[0026] In another aspect of this disclosure, a system is disclosed including a memory and a processing device coupled to the memory. The processing device is configured to perform an operation, which includes providing a first trained machine learning model with random or pseudo-random inputs. The first trained machine learning model is trained to generate synthetic sensor time-series data for a processing chamber. The operation further includes providing the first trained machine learning model with first data indicating one or more attributes of target synthetic sensor time-series data. The operation further includes receiving an output from the first trained machine learning model, which includes synthetic sensor time-series data associated with the processing chamber, and which is generated taking into account the first data indicating one or more attributes.
[0027] In another embodiment, a non-temporary machine-readable storage medium is disclosed. This non-temporary machine-readable storage medium stores instructions, which, when executed, cause a processing device to perform an operation. This operation includes providing random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time-series data for a processing chamber. This operation further includes providing the first trained machine learning model with first data indicating one or more attributes of the target synthetic sensor time-series data. This operation further includes receiving an output from the first trained machine learning model, which includes synthetic sensor time-series data associated with the processing chamber, and which is generated taking into account the first data indicating one or more attributes.
[0028] Figure 1 is a block diagram showing an exemplary system 100 (exemplary system architecture) according to several embodiments. System 100 includes a client device 120, manufacturing equipment 124, sensors 126, measuring equipment 128, a prediction server 112, and a data store 140. The prediction server 112 may be part of the prediction system 110. The prediction system 110 may further include server machines 170 and 180.
[0029] Sensor 126 may provide sensor data 142 related to the manufacturing equipment 124 (for example, related to the manufacturing equipment 124 producing corresponding products such as substrates). Sensor data 142 may be used to verify the health of the equipment and / or the health of the products (e.g., product quality). The manufacturing equipment 124 may produce products according to a recipe or by running runs over a period of time. In some embodiments, sensor data 142 may include one or more values from among optical sensor data, spectral data, temperature (e.g., temperature of a heating device), interval (SP), pressure, high-frequency radio frequency (HFRF), high-frequency (RF) match voltage, RF match current, RF match capacitor position, electrostatic chuck (ESC) voltage, actuator position, current, flow rate, power, voltage, etc. Sensor data 142 may include historical sensor data 144 and current sensor data 146. Current sensor data 146 may relate to the product currently being processed, the most recently processed product, the number of recently processed products, etc. Current sensor data 146 may be used as input to a trained machine learning model, for example, as input to a trained machine learning model for generating predictive data 168. Historical sensor data 144 may include data stored in relation to previously produced products. Historical sensor data 144 may be used to train a machine learning model, for example, model 190. Historical sensor data 144 and / or current sensor data 146 may include attribute data, for example, manufacturing equipment ID or design labels, sensor ID, type and / or location, manufacturing equipment status, for example, labels such as defects present and service life.
[0030] The sensor data 142 may relate to, or indicate, manufacturing parameters such as hardware parameters of the manufacturing equipment 124 (e.g., hardware settings or installed components, e.g., size, type) or process parameters of the manufacturing equipment 124 (e.g., heating device settings, gas flow). Alternatively, or in addition to, data related to several hardware parameters and / or process parameters may be stored as manufacturing parameters 150, which may include historical manufacturing parameters (e.g., related to historical processing runs) and current manufacturing parameters. The manufacturing parameters 150 may indicate input settings for the manufacturing device (e.g., heating device power, gas flow rate). The sensor data 142 and / or manufacturing parameters 150 may be provided while the manufacturing equipment 124 is performing the manufacturing process (e.g., readings from the equipment while processing a product). The sensor data 142 may differ for each product (e.g., each substrate). The substrate may have characteristic values (e.g., film thickness, film strain) measured by the measuring instrument 128. The measurement data 160 may also be a component of the data store 140.
[0031] In some embodiments, sensor data 142, measurement data 160, or manufacturing parameters 150 may be processed (e.g., by a client device 120 and / or a prediction server 112). Processing of sensor data 142 may include generating features. In some embodiments, these features may be patterns of sensor data 142, measurement data 160, and / or manufacturing parameters 150 (e.g., slope, width, height, peak, etc.), or combinations of values from sensor data 142, measurement data, and / or manufacturing parameters (e.g., power derived from voltage and current). Sensor data 142 may also contain features, which may be used by a 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., a circuit board), a set of manufacturing equipment, a type of circuit board produced by the manufacturing equipment, or other similar items. Similarly, each instance of measurement data 160 and manufacturing parameter 150 may correspond to a product, a set of manufacturing equipment, a type of circuit board produced by the manufacturing equipment, or other similar items. The data store may also store information relating sets of different data types, for example, information indicating that sets of sensor data, sets of measurement data, and sets of manufacturing parameters all relate to the same product, the same manufacturing equipment, the same type of circuit board, etc.
[0033] In some embodiments, a processing device (e.g., via a machine learning model) may be used to generate the synthesized sensor data 162. The synthesized sensor data may be processed in any of the methods described above in relation to the sensor data 142, for example, by generating features, concatenating values, or linking data from a specific recipe, chamber, or substrate. The synthesized sensor data 162 may share features with the sensor data 142, for example, with the current sensor data 146, the history sensor data 144, etc.
[0034] In some embodiments, the prediction system 110 may generate prediction data 168 using supervised machine learning (for example, the prediction data 168 may include output from a machine learning model trained on labeled data, such as sensor data labeled with measurement data). In some embodiments, the prediction system 110 may generate prediction data 168 using unsupervised machine learning (for example, the prediction data 168 may include output from a machine learning model trained on unlabeled data, which may include clustering results, principal component analysis, anomaly detection, etc.). In some embodiments, the prediction system 110 may generate prediction data 168 using semi-supervised learning (for example, the training data may include a mixture of labeled and unlabeled data, etc.).
[0035] The client device 120, manufacturing equipment 124, sensor 126, measuring equipment 128, prediction server 112, data store 140, server machines 170 and 180 may be connected to each other via a network 130 to generate prediction 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, prediction system 110, data store 140, etc., may be performed by cloud-based virtual devices.
[0036] In some embodiments, network 130 is a public network that provides client devices 120 with access to a prediction server 112, a data store 140, and other public computing devices. In some embodiments, network 130 is a private network that provides client devices 120 with access to manufacturing equipment 124, sensors 126, measuring instruments 128, a 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 device 120 may include computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablet computers, netbook computers, network-connected televisions ("smart TVs"), network-connected media players (e.g., Blu-ray® players), set-top boxes, over-the-top (OTT) streaming devices, and operator boxes. The client device 120 may also include a corrective action component 122. The corrective action component 122 may receive user input of instructions related to the manufacturing equipment 124 (e.g., via a graphical user interface (GUI) displayed through the client device 120). In some embodiments, the corrective action component 122 transmits these instructions to a prediction system 110, receives output from the prediction system 110 (e.g., prediction data 168), determines a corrective action based on this output, and has the corrective action implemented. In some embodiments, the corrective action component 122 acquires sensor data 142 (e.g., current sensor data 146) related to the manufacturing equipment 124 (e.g., from a data store 140, etc.) and provides the sensor data 142 (e.g., current sensor data 146) related to the manufacturing equipment 124 to the prediction system 110. In some embodiments, the corrective action component 122 stores the sensor data 142 in the data store 140, and the prediction server 112 retrieves the sensor data 142 from the data store 140. In some embodiments, the prediction server 112 may store the output of a trained model 190 (e.g., prediction data 168) in the data store 140, and the client device 120 may retrieve this output from the data store 140. In some embodiments, the corrective action component 122 receives instructions for corrective action from the prediction system 110 and performs the corrective action. Each client device 120 may include an operating system that enables the user to perform one or more of the following actions: generate, investigate, or edit data (e.g., instructions related to the manufacturing equipment 124, corrective actions related to the manufacturing equipment 124, etc.).
[0038] In some embodiments, the measurement data 160 corresponds to historical characteristic data of a product (e.g., a product produced using historical sensor data 144 and manufacturing parameters related to historical manufacturing parameters of manufacturing parameters 150), and the prediction data 168 corresponds to predicted characteristic data (e.g., predicted characteristic data of a product produced or manufactured under conditions recorded by current sensor data 146 and / or current manufacturing parameters). In some embodiments, the prediction data 168 is predicted measurement data (e.g., virtual measurement data) of a product produced or manufactured according to conditions recorded as current sensor data 146 and / or current manufacturing parameters. In some embodiments, the prediction 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 an indication of one or more causes of those anomalies. In some embodiments, the prediction data 168 is an indication of the time change or drift of some component of manufacturing equipment 124, sensor 126, measurement equipment 128 and other similar devices. In some embodiments, the predictive data 168 is an indication of the end of life of a component of a manufacturing machine 124, a sensor 126, a measuring instrument 128, or other similar device. In some embodiments, the predictive data 168 is an indication of the progress of an ongoing processing operation, for example, an indication of the progress of an ongoing processing operation for use in process control.
[0039] Implementing a manufacturing process that results in defective products can be costly in terms of time, energy, products, components, manufacturing equipment 124, and the costs of identifying defects and discarding defective products. By inputting sensor data 142 (e.g., manufacturing parameters used or used to manufacture a product) into a prediction system 110, receiving output of prediction data 168, and performing corrective actions based on the prediction data 168, system 100 may have the technical advantage of avoiding the costs of producing, identifying, and discarding defective products.
[0040] Executing a manufacturing process that results in the failure of components of the manufacturing equipment 124 can be costly in terms of downtime, product damage, equipment damage, and urgently ordered replacement components. By inputting sensor data 142 (e.g., manufacturing parameters used or 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, e.g., component replacement, processing, cleaning), the system 100 may have the technical advantage of avoiding one or more costs of unexpected component failure, unplanned downtime, loss of productivity, unexpected equipment failure, product disposal, or other similar issues. The performance of components, e.g., the manufacturing equipment 124, sensors 126, measuring instruments 128, and other similar components, may be monitored over time to provide indications of degraded components.
[0041] Manufacturing parameters may not be optimal for producing a product, and producing the product may have costly consequences such as increased resource (e.g., energy, coolant, gas, etc.) consumption, increased production time, increased component failures, and increased defective product volume. By inputting sensor data 142 into a trained model 190, receiving the output of predictive data 168, and performing corrective actions (e.g., based on predictive data 168) to update the manufacturing parameters (e.g., set optimal manufacturing parameters), 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 suboptimal manufacturing parameters.
[0042] The corrective action may relate to one or more of the following: Computational Process Control (CPC), Statistical Process Control (SPC) (e.g., SPC for electronic components to determine the process under control, SPC for predicting the effective life of components, SPC for comparison with a 3-sigma graph, etc.), Advanced Process Control (APC), Model-based Process Control, Proactive Operational Maintenance, Design Optimization, Manufacturing Parameter Updates, Manufacturing Recipe Updates, Feedback Control, Machine Learning Corrections, or other similar actions.
[0043] In some embodiments, the corrective action includes issuing an alarm (e.g., an alarm warning to stop or not proceed with the manufacturing process if 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 the processing run (e.g., monitor in-sensor data to predict whether the manufacturing process has reached completion). In some embodiments, the machine learning model may send an instruction to terminate the 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 manufacturing parameters in response to predictive data 168 indicating a predicted anomaly). In some embodiments, performing the corrective action includes performing an update to one or more manufacturing parameters. 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 indicating which components are installed in the manufacturing equipment 124, information indicating component replacement, information indicating the age of the components, information indicating the 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, corrective actions include causing preventive operational maintenance (e.g., replacement, processing, cleaning, etc. of components of the manufacturing equipment 124). In some embodiments, corrective actions include causing design optimization (e.g., updating manufacturing parameters, manufacturing processes, manufacturing equipment 124, etc., to optimize the product). In some embodiments, corrective actions include updating the recipe (e.g., changing the timing of when the manufacturing subsystem enters idle or active mode, changing the setpoints for various characteristic values, etc.).
[0045] The prediction server 112, server machine 170, and server machine 180 may each include one or more computing devices such as a rack-mount server, router computer, server computer, personal computer, mainframe computer, laptop computer, tablet computer, desktop computer, graphics processing unit (GPU), and accelerator application-specific integrated circuit (ASIC) (e.g., tensor processing unit (TPU)). The operation of the 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 prediction server 112 may include a prediction component 114. In some embodiments, the prediction component 114 may receive current sensor data 146 and / or current manufacturing parameters (e.g., received from a client device 120 and retrieved from a data store 140) and generate an output (e.g., prediction data 168) based on the current data for performing corrective actions related to the manufacturing equipment 124. In some embodiments, the prediction component 114 may use one or more trained machine learning models 190 to determine the output 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 various functions. The machine learning models may be configured to accept time trace sensor data as input and produce predicted measurement data as output. The time trace sensor data may include values measured by sensors associated with the manufacturing process when a processing operation is performed, e.g., data taken at a series of points in time. In some embodiments, the time trace data may include values measured every second, 10 times per second, 100 times per second, or at other intervals. 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 occurring sequentially in time), such as temperature near the sensor, pressure in the processing chamber, spectral data such as reflectance measurements, transmittance measurements, and electrical characteristics such as voltage or current, high-frequency wavelength or amplitude. A machine learning model may be configured to accept time trace sensor data (e.g., wafer spectral data) as input and to generate an estimate of process progress as output. Other machine learning models that accept time trace data related to the manufacturing equipment 124 as input are also possible and are included in the scope of this disclosure. The output of a machine learning model (e.g., machine learning model 190) may be stored in the data store 140 as prediction data 168.
[0048] The manufacturing equipment 124 may be associated with one or more machine learning models, for example, model 190. The machine learning models associated with the manufacturing equipment 124 may perform many tasks, including process control, classification, and performance prediction. 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 (collected by, for example, sensor 126), manufacturing parameters 150 (related to process control of the manufacturing equipment 124), and measurement data 160 (generated by, for example, measuring instrument 128). 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 feature representation components that have classifiers or regression layers that map features to a desired output space. For example, a convolutional neural network (CNN) serves as a host for multiple layers of convolutional filters. Pooling may be performed, and nonlinearity may be addressed in the lower layers, and above the lower layers, a multilayer perceptron is typically added to map the upper layer features extracted by the convolutional layer 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 set of inputs that are inherently related to each other, such as time-trace data, sequential data, etc. The output of an RNN perceptron is fed back as input to that perceptron to generate the next output. Deep learning is a type of machine learning algorithm that performs feature extraction and transformation using a cascade of multiple layers of nonlinear processing units. Each successive layer uses the output from the preceding layer as input. Deep neural networks may be trained in a supervised (e.g., classification) and / or unsupervised (e.g., pattern analysis) manner. Deep neural networks have a hierarchical structure of layers, where different layers learn different levels of representation 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 image recognition applications, the raw input may be a matrix of pixels, the first representative layer may extract pixels and encode edges, the second layer may construct and encode the arrangement of edges, the third layer may encode higher-order shapes (e.g., teeth, lips, gums), and the fourth layer may recognize the scanning task. In particular, the deep learning process can independently learn which features are optimally placed at which levels. The "deep" in "deep learning" refers to the number of layers through which the data is transformed. More precisely, deep learning systems have considerable credit assignment path (CAP) depth. A CAP is a chain of transformations from input to output. A CAP describes the potentially causal connections between input and output. 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 two or more times, the CAP depth is potentially infinite.
[0049] In some embodiments, the predictive component 114 receives current sensor data 146 and / or current manufacturing parameters 154, performs signal processing to decompose the current data into sets of current data, provides those sets of current data as input to a trained model 190, and obtains an output from the trained model 190 indicating predictive data 168. In some embodiments, the predictive data indicates measured data (e.g., prediction of substrate quality). In some embodiments, the predictive data indicates the health of the component. In some embodiments, the predictive data indicates the progress of a process (e.g., used to terminate a processing operation).
[0050] In some embodiments, the various models discussed in relation to Model 190 (e.g., supervised machine learning models, unsupervised machine learning models, etc.) may be combined into a single model (e.g., an ensemble model) or they may be separate models. The predictive component 114 receives current sensor data 146 and current manufacturing parameters 154, provides this data to the trained model 190, and receives information indicating how much several components in the manufacturing chamber have drifted from their previous performance. The data may be passed bidirectionally between several separate models and the predictive component 114 included in Model 190. In some embodiments, instead, some or all of these operations may be performed by different devices, such as a client device 120, a server machine 170, a server machine 180, etc. Those skilled in the art will understand that variations in data flow, which components perform which processes, which data is provided to which models, and other similar matters are within the scope of this disclosure.
[0051] The data store 140 may be memory (e.g., random access memory), drives (e.g., hard drives, flash drives), 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 reside across multiple computing devices (e.g., multiple server computers). The data store 140 may store sensor data 142, manufacturing parameters 150, measurement data 160, composite sensor data 162, and predictive 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 over the entire duration of the manufacturing process, correlation between data and physical sensors, pre-processed data such as averages and composite data, and data indicating sensor performance over time (i.e., across many manufacturing processes). The manufacturing parameters 150 and measurement data 160 may have similar characteristics. The historical sensor data 144 and historical manufacturing parameters may be historical data (for example, at least a portion of this data may be used to train the model 190). The current sensor data 146 may be current data (for example, at least a portion that follows the historical data and is input to the trained model 190) to which predictive data 168 is generated (for example, to perform corrective actions). The synthesized sensor data 162 may contain data that includes representative features of several different data, for example, features of old sensor data 148 (for example, sensor data generated before training the model 190) and features of new sensor data 149 (for example, sensor data generated after training the model 190).
[0052] In some embodiments, the prediction system 110 further includes server machines 170 and 180. Server machine 170 includes a dataset generator 172 that can generate datasets (e.g., sets of data inputs and sets of target outputs) for training, verifying and / or testing a model 190 that includes one or more machine learning models. Some operations of the dataset generator 172 are described in detail below with respect to Figures 2A-B and 4A. In some embodiments, the dataset generator 172 may divide historical data (e.g., historical sensor data 144, historical manufacturing parameters, synthetic sensor data 162 stored in data store 140) into a training set (e.g., 60 percent of the historical data), a verification 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 prediction components 114). For example, the first set of features may correspond to a first set of sensor data types corresponding to each of the datasets (e.g., a training set, a confirmation set, and a test set) (e.g., 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), and the second set of features may correspond to a second set of sensor data types corresponding to each of the datasets (e.g., 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).
[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, for example, sensor data 142 collected by sensor 126. The synthetic data generator 174 may be configured to generate synthetic sensor data, for example, synthetic time trace sensor data. The synthetic sensor data 162 may be similar to the historical sensor data 144. The synthetic sensor data 162 may be used to train a machine learning model 190 to generate predictive data 168 for performing corrective actions, for example. The dataset generator 172 may combine the sensor data 142 and the synthetic sensor data 162 to generate datasets such as training, test, and verification 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 time trace data, or may include time trace data. The type of data provided will depend on the application of the machine learning model. For example, the machine learning model may be trained by providing historical sensor data 144 as training input and corresponding measurement 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 measurement data from 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 failure, or to train the model 190 to generate predictions for newly seasoned or maintained chambers. Synthetic data may be generated to increase the available true data (e.g., data generated by sensor 126) in the trained model 190.
[0055] The server machine 180 includes a training engine 182, a verification engine 184, a selection engine 185, and / or a test engine 186. The engines (e.g., training engine 182, verification engine 184, selection engine 185, and test engine 186) may refer to hardware (e.g., circuits, dedicated logic circuits, programmable logic circuits, microcode, processing devices, etc.), software (e.g., processing devices, instructions executed on a 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 a dataset generator 172. The training engine 182 may generate multiple trained models 190, in which case each trained model 190 corresponds to a different set of features in the training set (e.g., sensor data from a different set of sensors). For example, the first trained model may be trained using all features (e.g., X1 to X5), the second trained model may be trained using a first subset of features (e.g., X1, X2, X4), and the third trained model may be trained using a second subset of features (e.g., X1, X3, X4, and X5), the second subset of features may partially overlap with the first subset of features. The dataset generator 172 may receive the output of the trained model (e.g., synthetic sensor data 162 from the synthetic data generator 174), collect this data to form training, verification, and test datasets, and use these datasets to train a second model (e.g., a machine learning model configured to output predictive data, corrective actions, etc.).
[0056] The verification engine 184 may be able to verify the trained models 190 using a corresponding set of features from the verification set of the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of features from the training set may be verified using a first set of features from the verification set. The verification engine 184 may determine the accuracy of each trained model 190 based on a corresponding set of features from the verification set. The verification 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 able to select one or more trained models 190 that have an accuracy that meets a threshold accuracy. In some embodiments, the selection engine 185 may be able to select the trained model 190 that has the highest accuracy among the trained models 190.
[0057] The test engine 186 may be capable of testing the trained model 190 using a corresponding set of features from the test set of the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of features from the training set may be tested using a first set of features from the test set. Based on the test set, the test engine 186 may determine which of all the trained models has the highest accuracy, the trained model 190.
[0058] In the case of a machine learning model, model 190 may refer to a model artifact generated by the training engine 182 using a training set containing data inputs and corresponding target outputs (the correct answers for each corresponding training input). Patterns in the dataset can be found that map data inputs to target outputs (correct answers), and the machine learning model 190 is provided with mappings that capture these patterns. The machine learning model 190 may use one or more of the following: support vector machines (SVMs), radial basis functions (RBFs), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbors algorithm (k-NN), linear regression, random forests, and neural networks (e.g., artificial neural networks, recurrent neural networks). The synthetic data generator 174 may contain one or more machine learning models, and these one or more machine learning models may contain one or more models of these same type (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 be trained using synthetic sensor data 162, or using a combination of historical and synthetic data. In some embodiments, a 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). The GAN includes at least a generator and a discriminator. The generator attempts to generate data (e.g., time-trace sensor data) that is similar to the input data (e.g., true sensor data). The discriminator attempts to distinguish true data from synthetic data (e.g., synthetic sensor time-series data from measured sensor time-series data). Training the GAN involves the generator becoming proficient in generating data that resembles true sensor data, and the discriminator becoming more proficient in distinguishing true data from synthetic data. A trained GAN includes a generator configured to produce synthetic data that contains many of the 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 tools, sensors, or products related to the input data. In some embodiments, the generator may be configured to produce synthetic data having a set of attributes, for example, synthetic data related to a target sensor, a target processing operation, and a target processing equipment defect.
[0060] Using synthetic sensor data 162 when training the machine learning model 190 offers significant technical advantages over other methods.
[0061] In some embodiments, a large amount of data (e.g., hundreds of boards) may be used to train a machine learning model. Generating such a large amount of data can be costly, for example, in terms of raw materials consumed, process gases, energy, time, and equipment wear. Relatively small amounts of data (e.g., less data than used to train model 190) may be readily available for training. By feeding a smaller amount of true data to the synthetic data generator 174 and training the machine learning model 190 with the synthetic sensor data 162, expenses associated with performing additional processing runs may be avoided. A large amount of data associated with a set of attributes may be generated and supplied to train the machine learning model 190. In some embodiments, synthetic sensor data 162 with more variance than true sensor data may be generated. In some embodiments, the conditions in the processing chamber may be consistently reproduced so that training the machine learning model using only true sensor data may negatively impact the machine learning model's ability to account for variations in input data. Supplying relatively noisy data, such as 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 run the model 190 on the input to obtain one or more outputs. For example, the prediction component 114 may provide current sensor data 146 to the model 190 and run the model 190 on the input to obtain one or more outputs. The prediction component 114 may 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 an output indicating confidence that the prediction data 168 is an accurate predictor of the process related to the input data for products produced or to be produced using the manufacturing equipment 124 with the current sensor data 146 and / or current manufacturing parameters. The prediction component 114 or the corrective action component 122 may use this confidence data to decide, based on the prediction data 168, whether to perform a corrective action related to the manufacturing equipment 124.
[0063] The confidence data may include, or indicate, a confidence level that the prediction data 168 is an accurate prediction of a product or component related to at least a portion of the input data. For example, the confidence level may be a real number between 0 and 1, where 0 indicates no confidence that the prediction data 168 is an accurate prediction of a product processed according to the input data or an accurate prediction of the component health of a component of the manufacturing equipment 124, and 1 indicates absolute confidence that the prediction data 168 is an accurate prediction of the characteristics of a product processed according to the input data or the component health of a component of the manufacturing equipment 124. In response to the confidence data indicating a confidence level below a threshold level for a given 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 current sensor data 146, current manufacturing parameters, etc.). In some embodiments, retraining may include generating one or more datasets (e.g., via a dataset generator 172) using historical and / or synthetic data.
[0064] For illustrative purposes rather than limitation, aspects of this 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 measurement data) into one or more trained machine learning models to determine predictive data 168. In other embodiments, a heuristic model, a physical phenomenon-based model, or a rule-based model is used to determine the predictive data 168 (e.g., without using a trained machine learning model). In some embodiments, such models may be trained using historical and / or synthetic data. In some embodiments, these models may be retrained using a combination of true historical and synthetic data. The predictive component 114 may monitor the historical sensor data 144, historical manufacturing parameters, and measurement data 160. Any of the information described with respect to the data input 210 in Figure 2 may be monitored by a heuristic model, a physical phenomenon-based model, or a rule-based model, or used in other ways.
[0065] In some embodiments, the functions 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 integrated into a single machine, and in some other embodiments, server machine 170, server machine 180, and prediction server 112 may be integrated into a single machine. In some embodiments, client device 120 and prediction server 112 may be integrated into a single machine. In some embodiments, the functions 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 in one embodiment as being performed by the client device 120, prediction server 112, server machine 170, and server machine 180 may, in other embodiments, be performed on the prediction server 112 where appropriate. Furthermore, functions that are attributed to a particular component may be performed by different or multiple components working together. For example, in some embodiments, the prediction server 112 may determine corrective actions based on the prediction data 168. In another example, the client device 120 may determine the prediction data 168 based on the output from a trained machine learning model.
[0067] Furthermore, different or multiple components working together can perform the functions of a particular component. One or more of the prediction server 112, server machine 170, or server machine 180 may be accessed as a service provided to other systems or devices through an appropriate application programming interface (API).
[0068] In some embodiments, “User” may be represented as a single individual. However, other embodiments of the present disclosure include the case where “User” is an entity controlled by multiple users and / or an automated source. For example, a collection of individual users integrated as a group of administrators may be considered “User.”
[0069] Embodiments of this disclosure may be applied to data quality assessment, feature enhancement, model evaluation, virtual instrumentation (VM), predictive maintenance (PdM), marginal optimization, process control, or other similar applications.
[0070] Figures 2A and 2B show block diagrams of exemplary dataset generators 272A and 2B (e.g., dataset generator 172 in Figure 1) that generate datasets for training, testing, and verifying a model (e.g., model 190 in Figure 1) according to certain embodiments. Each dataset generator 272 may be part of the server machine 170 in Figure 1. In some embodiments, several machine learning models associated with the manufacturing equipment 124 may be trained, used, and maintained (e.g., within the manufacturing facility). Each machine learning model may be associated with one dataset generator 272, or multiple machine learning models may share one dataset generator 272, etc.
[0071] System 200A, including a dataset generator 272A (e.g., dataset generator 172 in Figure 1), generates datasets for one or more unsupervised machine learning models (e.g., synthetic data generator 174 in Figure 1). The dataset generator 272A may generate a dataset (e.g., data input 210A) using historical data. An exemplary dataset generator 272A is configured to generate a dataset for a machine learning model configured to take sensor data as input and produce synthetic sensor data as output (e.g., for use when training another machine learning model). Similar dataset generators (or similar operations of dataset generator 272A) may be used for machine learning models configured to perform different functions, such as a machine learning model configured to take sensor data as input and produce clustering operations, anomaly prediction, etc., as output.
[0072] The dataset generator 272A may generate datasets for training, testing, and verifying a machine learning model. This machine learning model is provided with a set of historical sensor data 244A (e.g., historical sensor data of a board processing run) as data input 210A. This machine learning model may include two or more separate models (e.g., this machine learning model may be an ensemble model). This machine learning model may be configured to generate synthetic data similar to the training input. In some embodiments, training may not include providing the machine learning model with a target output. This machine learning model may include one or more data generators and one or more discriminators. During the training operation, the generators may generate data similar to the input sensor data. The discriminators may be provided with input data and synthetic data, and the discriminators may attempt to distinguish between them. As training progresses, the discriminators become more skilled at identifying synthetic data, and the generators become more skilled at generating data similar to the input sensor data (e.g., by "fake" the discriminators).
[0073] In some embodiments, the dataset generator 272A generates a dataset (e.g., a training set, a validation set, a test set), which includes one or more data inputs 210A (e.g., a training input, a validation input, a test input). The data inputs 210A may also be referred to as “features,” “attributes,” or “information.” In some embodiments, the dataset generator 272A may provide this dataset to the training engine 182, the validation engine 184, or the test engine 186, which use this dataset to train, validate, or test a machine learning model (e.g., the synthetic data generator 174 in Figure 1). Several embodiments for generating the training set are described further with reference to Figure 4A.
[0074] In some embodiments, the data input 210A may include one or more sets of data. For example, the system 200A may generate a set of sensor data which may include one or more of the following: sensor data from one or more types of sensors, combinations of sensor data from one or more types of sensors, patterns of sensor data from one or more types of sensors, combinations of manufacturing parameters from one or more manufacturing parameters, combinations of certain manufacturing parameter data and certain sensor data, etc.
[0075] In some embodiments, the dataset generator 272A may generate a first data input corresponding to a first set 244A of historical sensor data for training, verifying, or testing a first machine learning model, and the dataset generator 272A may generate a second data input corresponding to a second set 244B of historical sensor data for training, verifying, or testing a second machine learning model.
[0076] The data input 210A for training, verifying, or testing a machine learning model may include information for a specific manufacturing chamber (e.g., of a particular substrate manufacturing machine). In some embodiments, the data input 210A may include information for a specific type of manufacturing machine, e.g., manufacturing machines that share certain characteristics. Training a machine learning model based on one type of machine may allow the trained model to generate plausible synthetic sensor data for a group of manufacturing machines.
[0077] In some embodiments, the process may involve generating a dataset and then training, verifying, or testing a machine learning model using that dataset, followed by further training, verifying, or testing the model (for example, by adjusting weights or parameters such as connection weights in a neural network that are related to the model's input data).
[0078] Figure 2B shows a system 200B that includes a dataset generator 272B for generating datasets for one or more supervised machine learning models (e.g., model 190 in Figure 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 in Figure 1). In some embodiments, synthetic sensor data may be used to train an unsupervised machine learning model, and for example, the dataset generator 272B may not generate the target output 220. The dataset generator 272B may share many features and functions with the dataset generator 272A.
[0079] The dataset generator 272B may generate datasets for training, testing, and validating a machine learning model. This machine learning model is provided with a set of historical sensor data 245A and / or a 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 predictive data, clustered data, anomaly detection data, etc., as outputs. In some embodiments, generating historical sensor data can be costly. A dataset containing synthetic sensor data may be generated, 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 measurement data of 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 processing equipment defects.
[0081] In some embodiments, the dataset generator 272B generates a dataset (e.g., training set, verification set, test set) containing one or more data inputs 210B (e.g., training input, verification input, test input). The data inputs 210B may be provided to the training engine 182, verification engine 184, or test engine 186. This dataset may be used to train, verify, or test a machine learning model (e.g., model 190 in Figure 1).
[0082] In some embodiments, data input 210B may include one or more sets of data. For example, system 200B may generate a set of sensor data which may include one or more of the following: 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 a first set 245A of historical sensor data and / or a first set 262A of synthetic sensor data for training, verifying, or testing a first machine learning model. The dataset generator 272B may generate a second data input corresponding to a second set 245B of historical sensor data and / or a second set 262B of synthetic sensor data for training, verifying, or testing a second machine learning model.
[0084] In some embodiments, the dataset generator 272B generates a dataset (e.g., a training set, a confirmation set, a test set) which includes one or more data inputs 210B (e.g., a training input, a confirmation input, a test input) 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 make predictions by generating a dataset which 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 this dataset to a training engine 182, a confirmation engine 184, or a test engine 186, in which these engines use this dataset to train, confirm, or test a model 190 (e.g., one of the machine learning models included in Model 190, Ensemble Model 190, etc.).
[0085] Figure 3 is a block diagram showing a system 300 for generating output data (e.g., the synthesized sensor data 162 in Figure 1) according to several embodiments. In some embodiments, the system 300 may be used with a machine learning model configured to generate synthesized trace sensor data (e.g., the synthesized data generator 174 in Figure 1). In some embodiments, the system 300 may be used with a machine learning model to determine corrective actions related to 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 related to a manufacturing system that has functions different from those listed above.
[0086] In block 310, system 300 (for example, a component of prediction system 110 in Figure 1) performs data partitioning of the data used when training, verifying, and / or testing machine learning models (for example, via the dataset generator 172 of server machine 170 in Figure 1). In some embodiments, training data 364 includes historical data such as historical sensor time trace data, historical measurement data, and historical classification data (e.g., classification of whether a product meets a performance threshold). In some embodiments, training data 364 may also include synthetic sensor data, for example, synthetic sensor data generated by the synthetic data generator 174 in Figure 1. To generate training sets 302, verification sets 304, and test sets 306, training data 364 may undergo data partitioning in block 310. For example, the training set may be 60% of the training data, the verification set may be 20% of the training data, and the test set may be 20% of the training data.
[0087] The generation of training set 302, verification set 304, and test set 306 can be adjusted to suit a specific application. For example, the training set may consist of 60% of the training data, the verification set may consist of 20% of the training data, and the test set may consist of 20% of the training data. System 300 may generate multiple sets of features for each training set, verification set, and test set. For example, if the training data 364 includes sensor data from 20 sensors (e.g., sensor 126 in Figure 1) and sensor data containing features derived from 10 manufacturing parameters (e.g., manufacturing parameters corresponding to the sensor data from the 20 sensors), the sensor data may be divided into a first set of features containing sensors 1-10 and a second set of features containing sensors 11-20. Furthermore, the manufacturing parameters may be divided into multiple sets, for example, into a first set of manufacturing parameters containing parameters 1-5 and a second set of manufacturing parameters containing parameters 6-10. The target input may be split into multiple sets, the target output may be split into multiple sets, both the target input and target output may be split into multiple sets, or neither the target input nor target output may be split into multiple sets. Multiple models may be trained on different sets of data.
[0088] In block 312, system 300 performs model training (e.g., via training engine 182 in Figure 1) using training set 302. Training of machine learning models and / or models based on physical phenomena (e.g., digital twins) may be achieved in a supervised learning manner, which includes providing a training dataset consisting of labeled inputs through the model, observing its output, defining the error (by measuring the difference between the output and the labeled value), and tuning the model's weights to minimize the error 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 produce the correct output when presented with inputs different from those present in the training dataset. In some embodiments, training of a machine learning model may be achieved in an unsupervised manner, for example, without providing labels or classifications during training. Unsupervised models may be configured for anomaly detection, result clustering, and so on.
[0089] For each training data item in the training dataset, that training data item may be input into 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. This output may be compared to the label of the training data item (e.g., the actual sensor reading measured).
[0090] Next, the processing logic may compare the generated output (e.g., synthetic sensor readings) with the labels included in the training data items (e.g., actual sensor readings). The processing logic determines the error (i.e., classification error) based on the difference between the output and the labels. The processing logic adjusts one or more weights and / or values of the model based on this error.
[0091] When training a 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 parameters of the artificial neural network parameters (weights for one or more inputs to one node) for one or more nodes of the artificial neural network. Parameters may be updated in a backpropagation manner, starting with updating the nodes of the top layer, then the nodes of the next layer, and so on. The artificial neural network contains multiple layers of "neurons," each layer receiving values as input from the neurons of the previous layer. The parameters for each neuron include weights associated with the values received from each of the neurons of the previous layer. Therefore, parameter adjustment may involve adjusting the 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 models 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 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 and second trained models may be combined to generate a third trained model (e.g., one on its own, a predictor that is better than the first or second trained model, or a synthetic data generator). In some embodiments, the sets of features used when comparing 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 and combinations of models with various feature substitutions.
[0093] In block 314, system 300 performs model verification using verification set 304 (e.g., via verification engine 184 in Figure 1). System 300 may verify each of the trained models using a corresponding set of features in verification set 304. For example, system 300 may verify a first trained model using a first set of features in the verification set (e.g., sensor data from sensors 1-10), and a second trained model using a second set of features in the verification set (e.g., sensor data from sensors 11-20). In some embodiments, system 300 may verify hundreds of models generated in block 312 (e.g., models with various feature substitutions, combinations of models, etc.). In block 314, system 300 may determine the accuracy of each of one or more trained models (e.g., via model verification) and determine whether one or more of the trained models have an accuracy that satisfies a threshold accuracy. In response to determining that none of the trained models have the accuracy to meet the threshold, the flow returns to block 312, where the system 300 trains models using different sets of features from the training set. In response to determining that one or more of the trained models have the accuracy to meet the threshold, the flow proceeds to block 316. The system 300 may discard trained models that have accuracy below the threshold (for example, based on a verification set).
[0094] In block 316, system 300 performs model selection (e.g., via selection engine 185 in Figure 1) to determine which of the one or more trained models that satisfy the threshold precision has the highest precision (e.g., the selected model 308 based on the confirmation in block 314). If it has determined that two or more of the trained models that satisfy the threshold precision have the same precision, the flow may return to block 312, in which system 300 performs model training to determine the trained model with the highest precision using an improved training set corresponding to an improved set of features.
[0095] In block 318, system 300 tests the selected model 308 by performing a model test (e.g., via the test engine 186 in Figure 1) using the test set 306. System 300 may test a first trained model using a first set of features in the test set (e.g., sensor data from sensors 1-10) and determine that the first trained model meets a threshold precision (e.g., based on the first set of features in test set 306). In response that the precision of the selected model 308 does not meet a threshold precision (e.g., the selected model 308 is too well-fitted to the training set 302 and / or verification set 304 and cannot be applied to other datasets such as test set 306), the flow proceeds to block 312, in which system 300 performs model training (e.g., retraining) using different training sets corresponding to different sets of features (e.g., sensor data from different sensors). In response to determining, based on the test set 306, that the selected model 308 has accuracy that meets the threshold accuracy, the 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 this model to the remaining data (e.g., test set 306) to test the predictions.
[0096] In block 320, the system 300 receives current data 322 (e.g., current sensor data 146 in Figure 1) using a trained model (e.g., selected model 308) and determines (e.g., extracts) output data 324 (e.g., predicted data 168 in Figure 1) from the output of the trained model. Taking the output data 324 into consideration, corrective actions related to the manufacturing equipment 124 in Figure 1 may be performed. In some embodiments, the current data 322 may correspond to the same type of features as 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 using the trained model of block 320 may not include providing the selected model 308 with current data 322. In some embodiments, the selected model 308 may be configured to generate synthetic trace sensor data. Training may include providing the machine learning model with true trace sensor data. The training data (e.g., training set 302) may include attribute data. The attribute data may include information to label 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 tool's service life (e.g., time elapsed since the tool was installed, time elapsed since the last maintenance event), and an indication of a defect or impending defect in the manufacturing equipment that may be reflected in the training data. The use of the selected model 308 may include providing the model with an instruction to generate synthetic trace sensor data. The use of the selected model 308 may include providing one or more attributes. The generated data may be tailored to this one or more attributes, and synthetic data may be generated that resembles, for example, data from a specific sensor, data collected when a defect exists in the manufacturing equipment, etc.
[0098] In some embodiments, the performance of a machine learning model trained, validated, and tested by system 300 may degrade. For example, the manufacturing system associated with the trained machine learning model may undergo gradual or abrupt changes. As a result of the changes in the manufacturing system, the performance of the trained machine learning model may degrade. A new model may be generated to use in place of the degraded machine learning model. This new model may be generated by modifying the old model through retraining, generating a new model, etc. In some embodiments, combinations 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 types of data, such as historical data and synthetic data, which are the same types of data as the training data 364.
[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 the data partitioning of block 310, model verification of block 314, model selection of block 316, or model testing of block 318 may not be performed.
[0100] Figure 3 shows a system configured to train, verify, test, and use one or more machine learning models. These machine learning models are configured to accept data (e.g., setpoints, sensor data, measurement data, etc.) as input and to provide data (e.g., predictive data, corrective action data, classification data, etc.) as output. In some embodiments, a model may accept manufacturing parameters and sensor data and be configured to output a list of components predicted to contribute to defects in the manufacturing system. The split, train, verify, select, test, and use blocks of system 300 may be performed similarly to train a second model using different types of data. Furthermore, retraining may be performed using the current data 322 and / or additional training data 346.
[0101] Figures 4A-C are flowcharts of methods 400A-C related to training and utilizing machine learning models in certain embodiments. Methods 400A-C may be executed by processing logic, which may include hardware (e.g., circuits, dedicated logic circuits, programmable logic circuits, microcode, processing devices, etc.), software (e.g., processing devices, instructions executed on a general-purpose computer system or dedicated machine), firmware, microcode, or a combination thereof. In some embodiments, methods 400A-C may be partially executed by a prediction system 110. Method 400A may be partially executed by the prediction system 110 (e.g., server machine 170 and dataset generator 172 in Figure 1, dataset generators 272A-272B in Figures 2A-B). The prediction system 110 may use Method 400A to generate a dataset for performing at least one of training, verification, or testing a machine learning model in accordance with embodiments of the present disclosure. Methods 400B to C may be executed by the prediction server 112 (e.g., prediction component 114) and / or the server machine 180 (e.g., training, verification, and test operations may be performed by the server machine 180). In some embodiments, a non-temporary storage medium stores instructions that cause a processing device (e.g., the processing device of the prediction system 110, the processing device of the server machine 180, the processing device of the prediction server 112, etc.) to execute one or more of methods 400A to C when executed by that device.
[0102] For the sake of simplicity, methods 400A–C are illustrated and described as a series of operations. However, the operations according to this disclosure may be performed in various orders and / or simultaneously, and may be performed in conjunction with other operations not presented and described herein. Furthermore, not all illustrated operations may be performed to carry out methods 400A–C according to the disclosed subject matter. Moreover, those skilled in the art will understand and recognize that methods 400A–C may also be represented as a series of interrelated states by a state diagram or events.
[0103] Figure 4A is a flowchart of method 400A for generating a dataset for a machine learning model, according to several embodiments. Referring to Figure 4A, in some embodiments, in block 401, the processing logic that implements method 400A initializes the training set T into an empty set.
[0104] In block 402, the processing logic generates a first data input (e.g., a first training input, a first verification input) which may include one or more of the following: sensors, manufacturing parameters, measurement data, etc. In some embodiments, (for example, as described with respect to Figure 3,) this first data input may include a first set of features for the data type, and a second data input may include a second set of features for the data type. In embodiments, the input data may include historical data and / or synthesized data.
[0105] In some embodiments, in block 403, the processing logic optionally generates a first target output for one or more of these data inputs (e.g., a 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, as in the case of a machine learning model configured to identify a faulty manufacturing system, and the target output may also be a list of components that are likely to be defective. 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 requiring the provision of a target output). In some embodiments, the unsupervised machine learning model may be configured to generate synthetic trace sensor data.
[0106] In block 404, the processing logic optionally generates mapping data that instructs input / output mapping. This input / output mapping (or mapping data) may relate to data inputs (e.g., one or more of the data inputs described herein), target outputs for the data inputs, and the relationship between the data inputs and target outputs. In some embodiments, such as embodiments relating to machine learning models in which no target outputs are provided, block 404 may not be executed.
[0107] In some embodiments, in block 405, the processing logic adds the mapping data generated in block 404 to the dataset T.
[0108] In block 406, the processing logic branches based on whether the dataset T is sufficient for at least one of training, verification, and / or testing a machine learning model, such as the synthetic data generator 174 or model 190 in Figure 1. If it is sufficient, execution proceeds to block 407; otherwise, 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 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., a measure of data example diversity, precision, etc.) in addition to or instead of the number of inputs.
[0109] In block 407, the processing logic provides a dataset T (to, for example, a server machine 180) to train, verify, and / or test a machine learning model 190. In some embodiments, dataset T is the training set, and dataset T is provided to the training engine 182 of the server machine 180 to perform training. In some embodiments, dataset T is the verification set, and dataset T is provided to the verification engine 184 of the server machine 180 to perform verification. In some embodiments, dataset T is the test set, and 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., numerical values associated with data input 210B) are input to the neural network, and the output values of the input / output mapping (e.g., numerical values associated with target output 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), and this procedure is repeated for the remaining input / output mappings of dataset T. After block 407, at least one of the following can be performed on the model (e.g., model 190): training using the training engine 182 of the server machine 180, verification using the verification engine 184 of the server machine 180, or testing using the test engine 186 of the server machine 180. The trained model may be performed by the prediction component 114 (of the prediction server 112) to generate prediction data 168 for performing signal processing, to generate synthetic sensor data 162, or to perform corrective actions related to the manufacturing equipment 124.
[0110] Figure 4B is a flowchart of Method 400B for generating synthetic time-series sensor data (e.g., synthetic time trace data) according to several embodiments. In block 410 of Method 400B, processing logic provides a trained machine learning model with random or pseudo-random inputs. This trained machine learning model is configured to generate synthetic sensor time-series data for a processing chamber. To enable the generation of different synthetic time traces, this trained machine learning model is provided with a seed of random or pseudo-random numbers. In some embodiments, these random numbers have no physical meaning; for example, these random numbers do not correspond to data values at some point in the time trace. In some embodiments, this trained machine learning model includes one or more generators and one or more discriminators. In some embodiments, this trained machine learning model is a Generative Adversarial Network (GAN). Exemplary architectures of the GAN model are presented in more detail in relation to Figures 5A-B. In some embodiments, this random input is provided to the generator.
[0111] In block 412, the processing logic provides a trained machine learning model with data that indicates one or more attributes of the target synthetic sensor time series data. This attribute data may indicate one or more conditions of the target synthetic sensor time series. The attribute data may indicate the manufacturing system, product design, sensor ID, system defect, service life, etc. In some embodiments, the synthetic data is used to train a machine learning model to recognize a specific situation. Providing attribute data to the generator enables the generation of a large amount of data related to that situation, such as a specific system defect.
[0112] In block 414, the processing logic receives output from the trained machine learning model. This output includes synthetic trace sensor data associated with the processing chamber. This output is generated considering one or more attributes. In some embodiments, this synthetic data output may be used to train a second machine learning model.
[0113] Figure 4C is a flowchart of Method 400C for generating and using synthetic sensor trace data according to several embodiments. In 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 relevant attributes, for example, data indicating a tool ID, sensor ID, process recipe, service life, etc. The GAN may train a generator model using a discriminator model. The trace sensor data may include data from many types of sensors associated with a manufacturing system, processing chamber, etc. In some embodiments, the time trace sensor data may include a measure of energy supplied to a high-frequency component of the processing chamber, such as a high-frequency plasma generation component. The time trace sensor data may include frequency, power, voltage, or current supplied to such a component. In some embodiments, the time trace sensor data may include one or more measures of power, voltage, or current supplied to a heating device. In some embodiments, the time trace sensor data may include power, voltage, or current supplied to a substrate support. In some embodiments, time trace sensor data may include pressure or temperature.
[0114] In block 421, the processing logic provides a trained first machine learning model with data indicating one or more attributes of the target synthetic sensor time series data. The attributes provided may reflect one or more time traces of interest, for example, one or more conditions under which a large amount of synthetic sensor data is generated. A set of random or pseudorandom numbers may be provided to the trained first machine learning model. This random input may be used as a seed for generating the synthetic data. In block 422, the processing logic receives an output from the trained first machine learning model. This output includes synthetic trace sensor data. This output data may further include data indicating one or more relevant attributes. The operations in blocks 421 and 422 may share the operations and features of Figure 4B.
[0115] In block 423, the processing logic provides this output from the trained first machine learning model as 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 indicating at least one of one or more attributes as a target output for training the second machine learning model. In some embodiments, synthetic data is generated to train the model to predict defects, anomalies, or predictive performance of manufacturing equipment that has been in operation for one period of time. In some embodiments, synthetic data related to specific tools, sensors, product designs, etc., may be generated. Such information may be provided as attribute data for training the second machine learning model.
[0116] In block 424, the processing logic provides current sensor data to a trained second machine learning model. The trained second machine learning model may be configured to accept sensor data as input and generate predictive data as output, such as predicted measurement data, predicted product anomalies, predicted defects in the manufacturing system, or predicted progress of processing operations. In block 425, the predictive data output is received from the trained second machine learning model. In block 426, corrective actions are taken considering the output from the trained second machine learning model. These corrective actions may include scheduling maintenance for processing equipment, updating process recipes, or sending alarms to users.
[0117] Figures 5A and 5B illustrate the processes and architectures for training and operating generative adversarial networks in several embodiments. Figure 5A shows a simple GAN500A. Input data 502 is provided to the discriminator 508 during training. The discriminator 508 is configured to distinguish whether the input data 502 is true data or synthetic data. The discriminator 508 is trained until it achieves an acceptable accuracy. Depending on the application, the accuracy parameters may be tuned, for example, based on the amount of training data available.
[0118] In some embodiments, input data 502 (e.g., drawn from the same dataset used to train discriminator 508) may be provided to the generator 506 to train it to produce plausible synthetic data. A random input, such as noise 504, e.g., a fixed-length vector of pseudorandom values, is provided to the generator 506. 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 of data used to train 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 the classification validation module 510 with the classification result (for example, whether each dataset supplied to the discriminator 508 was labeled as true or as composite). The classification validation module 510 determines whether one or more datasets were correctly labeled by the discriminator 508. Feedback data indicating the labeling accuracy (for example, feedback data indicating how accurately the discriminator distinguished the composite sensor time series data from the measured sensor time series data) is provided to both the discriminator 508 and the generator 506. Both the generator 506 and the discriminator 508 are updated, taking into account the information received from the classification validation module 510. The generator 506 is updated to produce composite data that better reproduces the features of the input data 502, for example, by generating composite 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 composite 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 no longer correctly classified by the discriminator 508.
[0120] Figure 5B is a block diagram illustrating the operational process of an exemplary GAN500B for generating synthetic trace data in several embodiments. In some embodiments, the exemplary GAN500B may include many of the features discussed in relation to Figure 5A.
[0121] In some embodiments, the GAN500B includes a pair of generators 520 and a pair of discriminators 530. In some embodiments, the discriminator 530 is trained by supplying it with input data 536. The discriminator 530 is configured to distinguish between true data and synthetic data. The generator 520 may be configured to generate synthetic data. The generator 520 may be provided with noise 512, for example, random or pseudo-random inputs, as a seed.
[0122] In some embodiments, the GAN500B may include a plurality of generators 520 and / or a plurality of discriminators 530. The discriminators 530 may be configured to accept output data from different generators or sets of generators. In some embodiments, the generator 520 may be configured to generate attribute data by an attribute generator 522 and to generate related data (e.g., synthetic sensor time trace data) by a feature generator 526. In some embodiments, the feature generator 526 is configured to generate normalized data (e.g., synthetic sensor data with values ranging from 0 to 1), and a minimum / maximum generator 524 is configured to generate the minimum and maximum values of that data. In some embodiments, a technique for separating the minimum / maximum 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 minimum / maximum value generator 524. In some embodiments, a different set of noise (e.g., a different set of random inputs) may be provided to each generator of the generator 520. In some embodiments, the outputs of the attribute generator 522 and the minimum / maximum value generator 524 (e.g., composite attribute data and composite minimum / maximum value data) may be provided to the auxiliary discriminator 532. The auxiliary discriminator 532 may determine whether this combination of attribute and minimum / maximum value is likely to be related to true data. A preliminary determination may be performed to save processing power from generating and / or discriminating composite data from the feature generator 526. The output of the generator 520 may be provided to the discriminator 534. The discriminator 534 may distinguish true data, including attribute data, minimum / maximum value data, trace sensor data, etc., from the composite data. In some embodiments, the minimum / maximum value generator 524 may be an optional feature; for example, GAN500B may be configured to normalize data from the feature generator 526, or it may be configured to generate data values using 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. The recurrent neural network routes at least some outputs of a neuron (e.g., generated time-trace data) to the input of another neuron (e.g., a neuron associated with a later time point). In some embodiments, the recurrent neural network may essentially include a single neuron whose output is cycled back as input to generate a set of synthetic data. The recurrent neural network can learn input-output mappings that depend on both the current input 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 composite data may include a target shape or pattern. For example, it may simulate spikes in data values recorded by a sensor. In some embodiments, the feature generator 526 may accept instructions to facilitate the generation of composite data that includes a target shape or pattern. Ranges or distributions such as position (e.g., time position), value, and shape may be provided to the feature generator 526. The feature generator 526 may generate data having a target shape or pattern represented according to a distribution of features, for example, spikes may appear in many sets of composite trace sensor data within a single position range having one height range and one width range.
[0126] In some embodiments, synthetic data (e.g., data output from generator 520) may be used to train one or more machine learning models. In some embodiments, synthetic data may be used to train a machine learning model configured for event detection, for example, a machine learning model configured to determine whether trace data is within normal variation or indicates a system anomaly. In some embodiments, synthetic data may be used to generate a robust model, or to generate synthetic data with a higher noise level than the true data, and the machine learning model trained with such synthetic data may provide more useful outputs for a wider variety of inputs than a model trained only on true data. In some embodiments, synthetic data may be used to test the model for robustness. In some embodiments, synthetic data may be used to generate a model for anomaly detection and / or classification. In some embodiments, synthetic data may be provided as training input to train a machine learning model, and one or more attribute data (e.g., attribute data indicating a system defect) may be provided as target output to train a machine learning model. In some embodiments, attribute data may include indications 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] Figure 6 is a block diagram showing computer systems 600 according to several embodiments. In some embodiments, computer system 600 may be connected to other computer systems (for example, via a network such as a local area network (LAN), intranet, extranet, or internet). Computer system 600 may operate as a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. Computer system 600 may be provided by a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), mobile phone, web appliance, server, network router, switch or bridge, or a device capable of executing a set of instructions (sequential or otherwise) that specify the actions that such a device should take. Furthermore, the term “computer” includes a collection of computers that individually or jointly execute a set of instructions (or several sets of instructions) to perform one or more of the methods described herein.
[0128] In an additional embodiment, the 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 composite instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of instruction set types) or a specialized processor (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processing processor (DSP), or a network processor).
[0130] The computer system 600 may further include a network interface device 622 (e.g., coupled to network 674). The computer system 600 may further include a video display unit 610 (e.g., an LCD), a character / number input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generation device 620.
[0131] In some embodiments, the data storage device 618 may include a non-temporary computer-readable storage medium 624 (e.g., a non-temporary machine-readable medium) that stores instructions 626 that code one or more of the methods or functions described herein, including instructions that code the components of Figure 1 (e.g., the predictive component 114, the corrective action component 122, the model 190, etc.) and instructions for performing the methods described herein.
[0132] Instruction 626 may also reside entirely or partially in volatile memory 604 and / or processing device 602 while the computer system 600 is executing instruction 626, so that volatile memory 604 and processing device 602 may also constitute a machine-readable storage medium.
[0133] In the illustrative examples, computer-readable storage medium 624 is shown as a single medium, but the term “computer-readable storage medium” includes a single medium or multiple mediums (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of executable instructions. The term “computer-readable storage medium” further includes any tangible medium capable of storing or encoding a set of instructions for a computer to execute, which causes the computer to execute one or more of the methods described herein. The term “computer-readable storage medium” includes, but is not limited to, solid memory, optical media and magnetic media.
[0134] The methods, components, and features described herein may be implemented by individual hardware components or integrated into the functions of other hardware components such as ASICs, FPGAs, DSPs, or similar devices. Furthermore, the methods, components, and features described herein may be implemented by firmware modules or by functional circuits within hardware devices. Moreover, the methods, components, and features described herein may be implemented by any combination of hardware devices and computer program components, or by computer programs.
[0135] Unless otherwise specified, terms such as “receive,” “execute,” “provide,” “acquire,” “make execute,” “access,” “determine,” “add,” “use,” “train,” “reduce,” “generate,” “correct,” or other similar terms relate to actions and processes performed or implemented by a computer system that manipulate data in computer system registers and memory, expressed as physical (electronic) quantities, and convert such data into other data in computer system memory or registers, or other such information storage, transmission, or display devices, also expressed as physical quantities. Furthermore, terms such as “first,” “second,” “third,” and “fourth” as used herein have meaning as indicators to distinguish between different elements and may not have ordinal meanings based on the numerical designations of those terms.
[0136] The examples described herein further relate to apparatus for carrying out the methods described herein. This apparatus may be specifically constructed for carrying out the methods described herein, or it may include a general-purpose computer system 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 examples described herein are not inherently related to any particular computer or other device. Various general-purpose systems may be used in accordance with the teachings provided herein, or it may be more convenient to construct a more specialized device to perform the methods and / or each of the individual functions, routines, subroutines, or operations of those methods described herein. Examples of structures for these various systems are provided in the above description.
[0138] The above description is intended to be illustrative and not limiting. While the disclosure has described examples and embodiments for specific illustrative purposes, it should be recognized that the disclosure is not limited to the examples and embodiments described. The scope of the disclosure should be determined by reference to the appended claims, along with the entire scope of the equivalents to which such claims are granted.
Claims
1. A method performed by a computer, To provide random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time-series data for a processing chamber, Providing a first trained machine learning model with first data indicating one or more attributes of the target synthetic sensor time series data, and Receiving an output from the first trained machine learning model, wherein the output includes synthetic sensor time-series data associated with the processing chamber, and the output is generated considering the first data indicating one or more attributes. A method that includes this.
2. Training the first machine learning model Further including, training the aforementioned model, The first machine learning model generates synthetic sensor time-series data. The aforementioned synthesized sensor time-series data is provided to a second machine learning model. The measured sensor time series data is provided to the second machine learning model, wherein the second machine learning model is configured to distinguish between the synthesized sensor time series data and the measured sensor time series data. Provide the first machine learning model with feedback data indicating how accurately the second machine learning model distinguished the synthesized sensor time series data from the measured sensor time series data, and Updating the first machine learning model so that the second machine learning model generates synthetic sensor time series data that can be distinguished from measured sensor time series data with less accuracy. The method according to claim 1, including the method described in claim 1.
3. The method according to claim 1, wherein the first trained machine learning model includes a generator for a generative adversarial network.
4. The method according to claim 1, wherein the first trained machine learning model includes a recurrent neural network model.
5. The aforementioned composite sensor time-series data, Power, voltage, or current supplied to the components of the processing chamber, pressure, or temperature The method according to claim 1, comprising data corresponding to one or more of the following.
6. Training a second machine learning model Furthermore, training the second machine learning model includes, The output composite sensor time series data is provided to the second machine learning model as training input, and The first data indicating one or more attributes related to the output synthesis sensor time series data is provided to the second machine learning model as a target output. The second machine learning model is configured to predict the attributes of the processing chamber based on measured sensor time-series data of the processing chamber. The method according to claim 1, including the method described in claim 1.
7. The method according to claim 6, wherein the second machine learning model is configured to detect one or more anomalies related to the measured sensor time-series data of the processing chamber.
8. The attributes of the target composite sensor time series data are, Time since the installation of the processing chamber, The time elapsed since the previous maintenance event in the processing chamber, or Defects present in the processing chamber The method according to claim 1, comprising one or more of the above.
9. A system including memory and a processing device coupled to the memory, wherein the processing device is The objective is to provide a first trained machine learning model with random or pseudo-random inputs, wherein the first trained machine learning model is trained to generate synthetic sensor time-series data for a processing chamber. Providing a first trained machine learning model with first data indicating one or more attributes of the target synthetic sensor time series data, and Receiving an output from the first trained machine learning model, wherein the output includes synthetic sensor time-series data associated with the processing chamber, and the output is generated considering the first data indicating one or more attributes. A system configured to perform [a specific action].
10. The aforementioned processing device further, To train the first machine learning model described above It is configured and the model can be trained The first machine learning model generates synthetic sensor time-series data. The aforementioned synthesized sensor time-series data is provided to a second machine learning model. The measured sensor time series data is provided to the second machine learning model, wherein the second machine learning model is configured to distinguish between the synthesized sensor time series data and the measured sensor time series data. Provide the first machine learning model with feedback data indicating how accurately the second machine learning model distinguished the synthesized sensor time series data from the measured sensor time series data, and Updating the first machine learning model so that the second machine learning model generates synthetic sensor time series data that can be distinguished from measured sensor time series data with less accuracy. The system according to claim 9, including the system described in claim 9.
11. The system according to claim 9, wherein the first trained machine learning model includes a generator of a generative adversarial network.
12. The system according to claim 9, wherein the first trained machine learning model includes a recurrent neural network model.
13. The aforementioned composite sensor time-series data, High-frequency plasma generation components, Heating device, or substrate support Power, voltage, or current supplied to one or more of these pressure, or temperature The system according to claim 9, comprising data corresponding to one or more of the following.
14. The aforementioned processing device further, To train the second machine learning model The configuration is such that the second machine learning model can be trained. The output composite sensor time series data is provided to the second machine learning model as training input, and The first data, which indicates one or more attributes related to the output composite sensor time series data, is provided to the second machine learning model as a target output, wherein the second machine learning model is configured to predict the attributes of the processing chamber based on the measured sensor time series data of the processing chamber. The system according to claim 9, including the system described in claim 9.
15. The system according to claim 14, wherein the second machine learning model is configured to detect one or more anomalies related to the measured sensor time-series data of the processing chamber.
16. The attributes of the target composite sensor time series data are, Time since the installation of the processing chamber, The time elapsed since the previous maintenance event in the processing chamber, or Defects present in the processing chamber The system according to claim 9, comprising one or more of the above.
17. A non-temporary machine-readable storage medium storing instructions, wherein when the instructions are executed, To provide random or pseudo-random inputs to a first trained machine learning model trained to generate synthetic sensor time-series data for a processing chamber, Providing a first trained machine learning model with first data indicating one or more attributes of the target synthetic sensor time series data, and Receiving an output from the first trained machine learning model, wherein the output includes synthetic sensor time-series data associated with the processing chamber and is generated considering the first data indicating one or more attributes. A non-temporary, machine-readable storage medium that causes a processing device to perform operations including those mentioned above.
18. The aforementioned operation, Training the first machine learning model Further including, training the aforementioned model, The first machine learning model generates synthetic sensor time-series data. The aforementioned synthesized sensor time-series data is provided to a second machine learning model. The measured sensor time series data is provided to the second machine learning model, wherein the second machine learning model is configured to distinguish between the synthesized sensor time series data and the measured sensor time series data. Provide the first machine learning model with feedback data indicating how accurately the second machine learning model distinguished the synthesized sensor time series data from the measured sensor time series data, and Updating the first machine learning model so that the second machine learning model generates synthetic sensor time series data that can be distinguished from measured sensor time series data with less accuracy. A non-temporary machine-readable storage medium according to claim 17, including the following:
19. The attributes of the target composite sensor time series data are, The time elapsed since the installation of the processing chamber, The time elapsed since the previous maintenance event of the processing chamber, or Defects present in the processing chamber A non-temporary machine-readable storage medium according to claim 17, comprising one or more of the above.
20. The aforementioned operation, Training a second machine learning model Furthermore, training the second machine learning model includes, The output composite sensor time series data is provided to the second machine learning model as training input, and The first data, which indicates one or more attributes related to the output composite sensor time series data, is provided to the second machine learning model as a target output, wherein the second machine learning model is configured to predict the attributes of the processing chamber based on the measured sensor time series data of the processing chamber. A non-temporary machine-readable storage medium according to claim 17, including the following:
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