Method and system for predicting multivariate time series data in manufacturing systems

The method and system address the challenge of processing multivariate time series data with missing values by using Bayesian models for interpolation and optimization, improving predictive accuracy and efficiency in manufacturing systems.

JP7841927B2Active Publication Date: 2026-04-07ACCENTURE GLOBAL SERVICES LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-04-11
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing manufacturing systems struggle with efficiently processing multivariate time series data, particularly in scenarios where data is missing or delayed, leading to challenges in predicting equipment states and product quality.

Method used

A method and system utilizing Bayesian models for interpolating missing data and optimizing parameters in manufacturing systems, enabling prediction and adjustment of device settings based on interpolated and predicted values, including uncertainty estimation.

Benefits of technology

Enhances predictive accuracy and reduces computational time by efficiently handling missing and delayed data, allowing for timely adjustments and anomaly detection in manufacturing processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007841927000001
    Figure 0007841927000001
  • Figure 0007841927000002
    Figure 0007841927000002
  • Figure 0007841927000003
    Figure 0007841927000003
Patent Text Reader

Abstract

To describe a method of controlling a manufacturing system using multivariate time series.SOLUTION: A prediction method includes the steps of: recording data from a device included in a manufacturing system; storing the recorded data; interpolating, within a first time window, missing values using a Bayesian model; storing the interpolated values as prediction data; reading data falling within a second time window; reading prediction data incapable of being utilized by prediction data falling within the second time window; optimizing a parameter of the Bayesian model using the read data and prediction data; predicting, using the Bayesian model, the read data and the value incapable of being utilized by the prediction data; storing the predicted value as prediction data; and adjusting one or more devices that generate the recorded data based on the prediction data falling with the second time window.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a method and system for predicting multivariate time series data in a manufacturing system. [Background technology]

[0002] A time series is a sequence of data points in chronological order. In a manufacturing environment, a time series can represent the internal state of manufacturing equipment over time. Alternatively, a time series can track a specific parameter or characteristic across consecutive workpieces. For example, certain physical measurements recorded for several workpieces can form a time series recording the measurements over time. Some time series are multivariate, meaning they have two or more time-dependent variables. In a multivariate time series, a variable depends on its own past values, and at least partially on other variables. For example, a particular manufacturing parameter may depend on both its own past values ​​and parameters from upstream processes in the manufacturing process. [Overview of the project] [Means for solving the problem]

[0003] The implementation of this disclosure generally covers methods for controlling manufacturing systems using multivariate time series. In particular, the implementation of this disclosure covers methods and systems for forecasting multivariate time series data in a manufacturing system and using the forecasted time series data to adjust parameters in the manufacturing system.

[0004] In some implementations, the action involves recording data from one or more devices in a manufacturing system, storing the recorded data in data storage as multiple time series, each time series having a first recorded value corresponding to a first time and a final recorded value corresponding to the end of the time series, storing in data storage, interpolating missing values ​​in the multiple time series within a first time window using a Bayesian model, where the missing values ​​fall between the first and last time of each time series, and storing the interpolated values ​​as forecast data in forecast storage, where the interpolated values ​​include the uncertainty of each interpolated value, and storing the recorded data falling within a second time window. The method includes reading data from data storage, reading predicted data from prediction storage that falls within a second time window and for which no alternative recorded data is available, optimizing the parameters of a Bayesian model using the read recorded data and prediction data, predicting the values ​​of each time series for which the read recorded data and prediction data are not available using the Bayesian model, storing the predicted values ​​as prediction data in prediction storage, wherein the predicted values ​​include the uncertainty of each predicted value, and adjusting one or more devices generating recorded data based on the prediction data within the second time window. Other implementations of this aspect include a corresponding system, an apparatus, and a computer program encoded on a computer storage device and configured to perform the actions of the method.

[0005] These and other implementations may optionally include one or more of the following features: In some implementations, the predicted data is stored as a statistical distribution or density function. In some implementations, the predicted data is stored as a stochastic sample, and loading the predicted data involves selecting a random sample from the stochastic sample. Some implementations include calculating the marginal likelihood of the loaded recorded data and the predicted data if the marginal likelihood of the loaded recorded data and the predicted data is available, and calculating the conditional density of the loaded recorded data and the predicted data if the marginal likelihood of the loaded recorded data and the predicted data is not available. Some implementations calculate a conditional probability P(x) for each loaded recorded data point within a second time window. i |X j≠i This includes calculating ). Some implementations include calculating a cost function that includes a conditional density and computation cost for a set of parameter values, and tuning the parameters to correspond to the lowest value of the cost function. In some implementations, tuning one or more devices includes performing or scheduling maintenance on one or more devices. In some implementations, tuning one or more devices includes adjusting the operating settings of one or more devices.

[0006] Naturally, the methods described herein may include any combination of the aspects and features described in this specification. That is, for example, the apparatus and methods described herein may include any combination of the aspects and features described herein, not limited to the combinations of aspects and features specifically described in this specification.

[0007] Details of one or more implementations of this disclosure are described in the accompanying drawings and the following description. Other features and advantages of this disclosure will become apparent from the description, drawings, and claims. [Brief explanation of the drawing]

[0008] [Figure 1] This document provides an example system capable of implementing the disclosure. [Figure 2] This disclosure provides an exemplary forecasting system for multivariate time series data. [Figure 3] This disclosure provides an example of a manufacturing system incorporating the prediction system described herein. [Figure 4] This is a schematic diagram of the three time series at the initial point in time. [Figure 5] Figure 2 illustrates an example process that can be performed using the training and prediction modules. [Figure 6A] Figure 4 shows the time series at a later point in time. [Figure 6B] Figure 4 shows the time series at a later point in time. [Figure 7] Figure 2 shows an example process that can be executed using the storage module. [Figure 8A] Figure 2 shows an example process that can be performed using the model maintenance module. [Figure 8B] Figure 8A shows an example of the graph representation of the generated report. [Figure 9A] Figure 2 shows an example process that can be performed using the model maintenance module. [Figure 9B] Figure 9A shows an example of the graph representation of the generated report. [Figure 10A] Figure 2 shows an example process that can be performed using the model maintenance module. [Figure 10B] Figure 10A shows an example of the graph representation of the generated report. [Figure 11] Further examples of manufacturing systems incorporating the prediction system described herein are provided. [Figure 12] Further examples of manufacturing systems incorporating the prediction system described herein are provided. [Modes for carrying out the invention]

[0009] The same reference number and name in different drawings refer to the same component.

[0010] Implementations of the present disclosure generally relate to methods for controlling a manufacturing system using multivariate time series. In particular, implementations of the present disclosure relate to methods and systems for predicting multivariate time series data in a manufacturing system and using the predicted time series data to adjust parameters in the manufacturing system.

[0011] In some implementations, the actions include recording data from one or more devices within the manufacturing system and storing the recorded data in a data storage as a plurality of time series, each time series having a first recorded value corresponding to a first time and a final recorded value corresponding to the end of the time series; storing in the data storage; interpolating missing values within the plurality of time series using a Bayesian model within a first time window, the missing values falling between the first and last times of an individual time series; storing the interpolated values in a prediction storage as prediction data, the interpolated values including the uncertainty of each interpolated value; reading the recorded data falling within a second time window from the data storage; reading from the prediction storage prediction data falling within the second time window for which no corresponding recorded data is available; optimizing the parameters of the Bayesian model using the read recorded data and prediction data; predicting, using the Bayesian model, values of each time series for which the read recorded data and prediction data are not available; storing the predicted values in the prediction storage as prediction data, the predicted values including the uncertainty of each predicted value; and adjusting one or more of the devices generating the recorded data based on the prediction data within the second time window. Other implementations of this aspect include corresponding systems, apparatus, and computer programs encoded on a computer storage device configured to perform the actions of the method.

[0012] Referring to the exemplary manufacturing system, each implementation of the present disclosure will be described in more detail in this specification. The exemplary manufacturing system is used to process wafers used in the fabrication of semiconductor devices. The semiconductor device fabrication process is used, for example, to manufacture individual semiconductor devices and integrated circuit chips. The fabrication process includes a sequence of automated steps that gradually form an electronic circuit on a semiconductor wafer. Due to the number of steps, the fabrication process may take several weeks from start to finish. It is contemplated that the implementations of the present disclosure can be realized using any suitable automated system.

[0013] FIG. 1 shows an exemplary system 100 that can execute an implementation of the present disclosure. The exemplary system 100 includes a computing device 102, a backend system 108, and a network 106. In some examples, the network 106 includes a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof, and connects websites, devices (e.g., the computing device 102), and backend systems (e.g., the backend system 108). In some examples, the network 106 can be accessed over wired and / or wireless communication links.

[0014] In some examples, computing device 102 may include any suitable type of computing device, such as a desktop computer, laptop computer, handheld computer, tablet computer, personal digital assistant (PDA), mobile phone, network appliance, camera, smartphone, enhanced general packet radio service (EGPRS) mobile phone, media player, navigation device, email device, game console, or a suitable combination of two or more of these devices or other data processing devices.

[0015] In the examples shown, the backend system 108 includes at least one server system 112 and a data store 114 (e.g., a database and a knowledge graph structure). In some examples, at least one server system 112 hosts one or more computer-implemented services that users can interact with using a computing device. For example, server system 112 may host one or more applications provided as part of a multivariate time series forecasting system by an implementation of the present disclosure.

[0016] In some examples, the backend system 108 hosts an anomaly detection system that detects abnormalities in the manufacturing system, as implemented by this disclosure. For example, a user 120 (e.g., an operator in a semiconductor manufacturing plant) can interact with the prediction system using a computing device 102.

[0017] Figure 2 shows an exemplary prediction system 200 for multivariate time series data. The system 200 includes a storage module 202, a training and prediction module 204, and a model maintenance module 206. The storage module 202 includes data storage for time series data recorded from a manufacturing system (not shown) and prediction storage for data predicted by the training and production module 204. In the following disclosure, “recorded data” refers to time series data obtained from a manufacturing system. Recorded data may be generated by sensors within the manufacturing equipment. Recorded data may correspond to the internal state of the manufacturing equipment itself, or to the characteristics or parameters of workpieces processed by the manufacturing equipment. The storage module 202 receives data requests from the training and prediction module 202 and the model maintenance module 206, as indicated by the arrows pointing thereto. The storage module 202 provides recorded data and prediction data to the training and prediction module 202 and the model maintenance module 206, as indicated by the arrows pointing outward. The training and prediction module 204 continuously optimizes model parameters for generating prediction data based on the latest data from the storage module 202. The prediction results from the training and production module 204 are stored in the storage module 202 for use in subsequent predictions. The model maintenance module 206 evaluates the prediction performance of the training and prediction module 204 based on the latest data from the storage module 202. The model maintenance module 206 can also identify bottlenecks that make it difficult to accurately predict prediction data based on current data. The operation of modules 202, 204, and 206 is described below with reference to several examples.

[0018] Figure 3 shows an exemplary manufacturing system 300 including a sequence of manufacturing steps 302a–304c. Manufacturing steps 302a–304c generally fall into two categories. The first category includes processing steps 302a–c that make changes to the workpiece (e.g., wafer) during manufacturing. The second category includes measurement steps 304a–c that measure the result of one of the processing steps 302a–c. For example, a measurement step may record a measurement (e.g., dimensions or physical properties of the workpiece) that has changed between previous processing steps. The system includes an equal number of processing and measurement steps 302a–304c arranged alternately, however, it is not necessarily so. Other systems may include two or more processing steps between two measurement steps. For brevity, system 300 is shown with three processing steps 302a–c. However, the implementation of this disclosure is also applicable to more complex manufacturing systems including a larger number of processing and measurement steps.

[0019] Each measurement step 304a-c is connected to a corresponding data storage 306a-c that stores the values ​​obtained in measurement steps 304a-c as a time series. Each data storage 306a-c for each measurement step 304a-c is connected to a predictor 308a-c that fills in missing data in the time series stored in the data storage 306a-c, as will be described in more detail below. Each predictor 308a-c is connected to a corresponding prediction storage 310a-c that stores the values ​​generated by the predictor 308a-c. Figure 3 shows the data storage 306a-c, predictors 308a-c, and prediction storage 310a-c as separate entities to illustrate their relationship to the individual measurement steps 304a-c. However, in some implementations, the data storage 306a-c and prediction storage 310a-c are all included in the storage module 202 in Figure 2, and the predictors 308a-c are all part of the training and prediction module 204 in Figure 2. For example, data storage 306a-c and predictive storage 310a-c can all be stored on one or more servers 114 within the backend system 108 in Figure 1.

[0020] Figure 4 is a schematic diagram of the three time series 402, 404, and 406 at the initial point in time. For example, time series 402, 404, and 406 include recorded data obtained from measurement steps 304a and 304c in Figure 3. Each time series 402, 404, and 406 includes multiple discrete data points stored, for example, in individual data storage 306a to 306c for each measurement step 304a to 304c. Each time series 402, 404, and 406 includes multiple recorded data points, but also includes gaps A1, A2, B1, B2, and C1 defined in relation to a window W spanning a specific time frame (e.g., t=5 to 37). As described with reference to Figures 6A and 6B, the window W can span different time frames in the time series data by changing its size or position. In some cases, gaps in time series 402, 404, and 406 are due to equipment or communication failures. For gaps A1 and B1, data points both before and after gaps A1 and B1 are available. For example, this could be because the sensor failed to obtain a measurement, or because the measurement obtained by the sensor was not saved to data storage 306a and 306b due to a disruption in the communication system.

[0021] In manufacturing applications, data is obtained from measurement steps 304a to c as the workpiece passes through each individual measurement step 304a to c. The first workpiece in a lot may have already completed all three measurement steps 304a to c, and the data corresponding to the first workpiece is available in all three time series 402, 404, and 406. In contrast, the second workpiece may have completed only the first measurement step 304a at the time of consideration. In this case, time series 404 and 406 do not yet contain data corresponding to the second workpiece. In other words, data acquisition does not have to occur simultaneously. For example, the gaps A2, B2, and C1 in Figure 4 may be due to data acquisition not occurring simultaneously.

[0022] Predictors 308a-308c use Bayesian statistics to imputate missing values ​​for gaps A1, A2, B1, B2, and C1 in time series 402, 404, and 406. When system 300 is initialized, prediction storage 310a-c has no prior predictions for the values ​​in gaps A1, A2, B1, B2, and C1. In this case, predictors 308a-308c first use historical data and available data in data storage 306a-c to interpolate the missing values ​​for gaps A1 and B1 between the first and last data points in each time series. Gaps A2, B2, and C1 following the last value in the time series are predicted using the same model. For example, missing values ​​for gaps A1 and B1 can be interpolated by calculating the posterior distribution p(x|y), where x is the set of missing values ​​and y is the set of observed values. This method requires a probabilistic time series model, such as a state-space model of the system, but does not require any special algorithms for interpolating missing values.

[0023] The predictors 308a–308c or the training and prediction module 204 perform imputation of missing data for laggy data using only a single model. In other words, predictors 308a–308c do not require a dedicated method for interpolating missing values ​​in the time series. A single model (e.g., a state-space model) can represent the time series data and be used for both prediction and interpolation of missing values. All time series models can be mathematically interpreted as Bayesian models and therefore can be used to interpolate missing values ​​and represent uncertainty. The training and prediction module can use any time series prediction model, such as Gaussian process models, state-space models, ARIMA models, recurrent neural network models, and their variations. Missing values, along with their uncertainty values, are stored as predictions in the prediction storage 310a–310c. Predictions can be stored as statistics, density functions, or stochastic samples.

[0024] Figure 5 shows an exemplary process 500 that can be executed by the training and prediction module 204 in Figure 2 and the predictors 308a-c in Figure 3. In 502, the training and prediction module 204 calculates the objective function and gradient for prediction. In process 500, to save time and computational resources, the gradient of the objective function is calculated only when the system 200 is initialized. The training and prediction module 204 distinguishes whether the position of window W (Figure 4) has changed relative to the time series. If it has changed, the updated position of the sliding window is obtained in 504, and the position of window W is used in 506 to request data from the storage module 202. If the position of window W has not changed, the training and prediction module 204 determines whether new data for window W is available by sending a data request (not shown) to the storage module 202. If new data is indeed available, the data is requested from the storage module 202 in 506, as in the case where the window position has changed. After acquiring data from storage module 202, the data is used to optimize model parameters in 508 and to perform prediction calculations in 510. The prediction data obtained in 510 is sent to storage module 202 by 512 for storage in prediction storage.

[0025] In general, any suitable optimization method can be applied. Following the principles of Bayesian statistics, algorithms such as Markov chain Monte Carlo (MCMC) and variational inference can be used to compute model parameters. The Markov chain Monte Carlo method approximates the posterior distribution of parameters that cannot be directly computed using random samples. For example, this method starts with plausible starting values ​​for the parameters. New proposals are generated by adding random noise generated from the proposal distribution to the plausible starting values. The posterior distributions are computed for both the plausible starting values ​​and the new proposals. If the new proposal yields higher posterior values, the starting values ​​are discarded in exchange for the new proposal. If the new proposal yields lower values, the probability corresponding to the height of both posterior values ​​is used to determine whether the new proposal is accepted or rejected. In either case, if the new proposal is accepted, the new proposal becomes the starting point and the process is repeated. If the new proposal is rejected, the process starts again from the previous starting point. The MCMC method, by repeating this process, can generate a sample distribution that closely resembles the actual distribution of the parameters, using a relatively small number of samples.

[0026] The prediction calculation also follows the principles of Bayesian statistics; for example, the predictive distribution is calculated using the distribution of the learned model parameters.

[0027] Figures 6A and 6B show examples of time series corresponding to the two scenarios shown in Figure 5. The same reference numbers as in Figure 4 are used to indicate the corresponding components. Similar components progressing over time are indicated by the use of single and double quotes after the reference number.

[0028] Figure 6A shows time series 402', 404', and 406' after some time has passed since the initial time shown in Figure 4, except that the position of window W is the same as in Figure 4. For example, what was previously empty space A2 in time series 402 is filled in in time series 402' with recorded data. Similarly, some of the empty spaces B2 and C1 in time series 404 and 406 are filled in with newly available data in time series 404' and 406'. However, some empty spaces A1 and B1 remain the same as time progresses. For these remaining empty spaces A1 and B1, the missing data imputation can be performed again using previously stored predictions (interpolated values) in prediction storage. For the changing gaps B2 and C1, the training and prediction module 204 reads the newly added data from the storage module 202, trains the model, and generates new predictions for gaps B2' and C1' in time series 404' and 406' (see 506-510 in Figure 5). Unlike in the initial process, the objective function and its gradient are not recalculated. Instead, the latest data and prediction results are supplied as input to the gradient function for further training and prediction.

[0029] Figure 6B shows time series 402', 404', and 406' with a shifted window W', which is in a different position from window W in Figure 4. The recorded data in time series 402', 404', and 406' is the same as in Figure 6A, but the new position of window W' changes at least some of the areas of data that need to be imputed. For example, empty space B1 in Figures 4 and 6A no longer falls into the new window W', and empty spaces B1'' and C1'' are larger in size than their equivalents in Figure 6A. On the other hand, some empty spaces, such as empty space A1 in time series 402', remain the same. Proceeding directly from Figure 4 to Figure 6B is the same process for imputing missing data as described for Figure 6A. Proceeding from Figure 6A to Figure 6B, there is no new recorded data available in time series 402', 404', and 406' themselves. Therefore, the training and prediction module 204 uses the same data to generate further predictions and perform imputation of the values ​​for the blanks B1" and C1".

[0030] In Figures 6A and 6B, windows W and W' are the same size, but the size of the windows may change with each iteration. In implementations where the window size is variable, the gradient function can also be variable. In this case, it is not necessary to recalculate the gradient function. Instead, it is sufficient to perform an additional calculation of the gradient function when the window size increases.

[0031] In this way, the training and prediction modules build upon past training results and supplement those results with a small amount of new data. Since training and data loading occur in parallel, the computation time required for training for each window position can be reduced. In this way, the computation time required for time series prediction can be reduced. Furthermore, because data is stored frequently, a well-trained model can quickly produce prediction results using the latest data.

[0032] Figure 7 shows an example process 700 that can be executed by the storage module 202 in Figure 2. In 702, the storage module 202 receives data requests from the training and prediction module 204 or the model maintenance module 206 (Figure 2). For example, a request could correspond to 506 of process 500. The storage module 202 first queries whether the requested data and recorded data corresponding to the window are stored in the data storage (e.g., 306a-306c in Figure 3). If they are stored, the recorded data is read from the data storage in 704. In other words, if recorded data is available in the data storage for values ​​that were previously only predicted, the storage module 202 reads the recorded values ​​instead of the predicted values. After the recorded data has been read from the data storage, if the time series contains gaps, in 706 the storage module 202 queries whether values ​​for the missing data are stored in the prediction storage (e.g., 310a-310c in Figure 3). Because the prediction storage contains only previously predicted values, a complete set of data and prediction data may not be available for a particular time series after system initialization. For such unavailable values, the system returns an unknown flag in 708, which are treated as predetermined high-variance values ​​and used as input for predicting other values. Since the storage module 202 reads data from both data storage and prediction storage, the likelihood of the training and prediction modules 204 being unable to operate due to missing time series data is reduced.

[0033] As mentioned above, predicted values ​​can be stored as statistics, density functions, or stochastic samples, thereby preserving information about the uncertainty of the predicted values. In contrast, point estimates do not include information about uncertainty. Some complex predictive distributions cannot be represented by a single density function or a few statistics. If the distribution is too complex, richer representations such as stochastic samples with increased sample size or mixtures of densities can also be used. To reduce the data size of the predictive distribution, stochastic samples may be used as a representation of the predicted values, and one of the samples loaded may be randomly selected.

[0034] Figures 8A, 9A, and 10A illustrate an exemplary process that can be performed by the model maintenance module 206 in Figure 2 to continuously evaluate predictive performance based on the most recent data and training results.

[0035] Figure 8A shows an illustrative process 800 for evaluating the performance of the current predictive model used by the training and predictive module 204. At 802, the model maintenance module 206 receives a request for evaluation. The request can be triggered by a user (e.g., user 102 in Figure 1) or the system can trigger the request according to a predetermined schedule. In either case, the model maintenance module 206 operates in parallel with the training and predictive module 204. At 804, the most recent available data is read from the storage module 202. The most recent available data is supplemented by values ​​stored in predictive storage and includes all data available in data storage for a particular window W. Based on the read data, the model maintenance module 206 determines whether the marginal likelihood p(X) of the read data is manageable. If it is manageable, the marginal likelihood p(X) is calculated at 806. If it is not manageable, the conditional density q(X) is calculated at 808. In either case, a report is returned at 810. In many cases, each time series has a different scale, making it difficult to quantitatively assess the prediction accuracy of multiple time series. Such differences in scale can be naturally resolved by evaluating prediction performance using marginal likelihood.

[0036] Figure 8B is a graphical representation 812 of an example report generated in 810. Graph 812 shows the marginal likelihood p(X)814 over a 9-day period. The marginal likelihood p(X) drops significantly in the last 3 days of the 9-day period, indicating that the model's performance deteriorates during that time span. In response, the user can modify the model or adjust the hyperparameters as needed. An automatic performance adjustment mechanism can also adjust the hyperparameters based on user input or according to a predetermined schedule.

[0037] Figure 9A shows an exemplary process 900 for determining the prediction accuracy of specific data points within each time series. At 902, the model maintenance module 206 receives a request, as in process 800. At 904, the model maintenance module 206 reads the latest available data, as in process 800. At 906 and 908, the model maintenance module 206 determines whether the training and prediction module 204 predicted values close to the actually recorded data points, i.e., the prediction accuracy, by calculating the conditional probability P(x i |X j≠i ) for each of the n points in the data series. To obtain P(x i |X j≠i ), both observed and unobserved data are considered. The unobserved data is stored in the storage module 202 as a distribution. Mathematically, such a value of P(x i |X j≠i ) can be calculated by integrating (averaging) the stored distribution. If only the values within a specific window are evaluated, the model maintenance module 206 calculates the conditional probability P(x i |X j≠i ) for each of the n points within the window. When the calculation is complete, at 910, the model maintenance module 206 generates a report.

[0038] Figure 9B is an exemplary graphical representation 812 of the report generated at 910. Graphical 910 includes three time series marked with circles for individual data points of the time series. A line representing the conditional probability P(x i |X j≠i ) is superimposed on the data points. The smaller the value of the conditional probability P(x i |X j≠i ), the lower the accuracy of the prediction generated by the training and prediction module 204. As an example, the model maintenance module 206 determines the conditional probability P(x i |X j≠iBased on the value of ), it indicates data points that were difficult to predict. This means that the data point was an outlier in the predictive distribution. Based on such insights, the user can review the data and model. The prediction system 200 itself does not perform any operations on the data itself, such as removing data points with low conditional probability values.

[0039] Figure 10A shows an example process 1000 that automatically discovers parameters (e.g., optimization step size) at the lowest cost. At 1002, the model maintenance module 206 receives a request, similar to processes 800 and 900. At 1004, the parameter set is determined based on the request. For example, if the parameter is the optimization step size, the parameter set may include a different set of step sizes. At 1006, the conditional density q(X) is calculated for each parameter. After q(X) has been calculated for each parameter, a report is generated at 1008.

[0040] Figure 10B is a graphical representation 1010 of an example report generated in 1008. The horizontal axis of graph 1010 includes the parameter set, i.e., the optimization step size. Curve 1012 corresponds to q(X) calculated for each step size in 1006 and represents the degradation of the model's performance. Curve 1014 represents the computational cost, which increases with the step size. Curve 1016 is the total cost function based on -q(X) and the computational cost. For example, if the training and prediction module 204 is currently using a step size of 6, indicated by the dotted line 1018, the model maintenance module 206 recommends a step size of 1020, which corresponds to the lowest value of the total cost function 1016. For example, the model maintenance module 206 can display the recommendation to the user. Alternatively, the training and prediction module 204 can be configured to automatically update one or more parameters based on the recommendation of the model maintenance module.

[0041] Figures 11 and 12 show examples of manufacturing systems 1100 and 1200 incorporating the prediction system of this disclosure, respectively. As examples, manufacturing systems 1100 and 1200 can be used to manufacture semiconductor wafers. Wafer manufacturing includes processing steps broadly categorized into four categories: deposition, removal, pattern formation, and electrical property adjustment. These processing steps are performed on specific areas of the wafer and are repeated hundreds of times to form the completed circuit. In addition to the processing steps, wafer manufacturing includes measurement steps inserted between processing steps. Data obtained in each measurement step can be used for inline quality control. For example, the data can be compared to predetermined upper and lower limits. If the measurement data falls outside these limits, the wafer can be considered defective. Wafer manufacturing generally ends with a wafer testing step, in which the circuits on the wafer are tested for functional defects according to a sequence of test patterns. After wafer testing, the wafer can proceed to further manufacturing steps, such as die preparation.

[0042] The data collected in semiconductor manufacturing has the following characteristics: Sensor data and quality control data from multiple processes constitute multivariate data. The internal state of manufacturing equipment changes over time and is suitable for time-series data. Similarly, the state of the wafer itself depends on the processing time. Because the manufacturing process is sequential, the availability of data depends on the progress of the wafer in the sequence; that is, data does not occur simultaneously. Finally, quality control data is usually subsampled, meaning that not all quality control data is available for every wafer.

[0043] In Figures 11 and 12, the processing steps are represented by processing steps 1102 and 1202, and the wafer testing is represented by final tests 1104c and 1212. Data from measurement steps 1104 and 1204 may include the inline quality data described above, or sensor data indicating the status of the processing equipment. In system 1100 of Figure 11, data from final test 1104c is processed in the same way as data from test steps 1104a and 1104b. In other words, data from final test 1104c is processed by prediction system 200 as one of several time series. The prediction system according to this disclosure can represent data from final test 1104c together with time series data from measurement steps 1104a and 1104b, and can capture correlations between data in individual time series.

[0044] As another option, Figure 12 shows that the time series modeled according to this disclosure can be input to another test predictor 1214 (e.g., a machine learning model) that predicts the results of another final test 1212. In this example, the application module 1216 can compare the results of the data measured in the final test 1212 with the data generated by the test predictor 1214.

[0045] In both systems 1100 and 1200, application modules 1114 and 1216 may include one or more of the following additional functions: Application modules 1114 and 1216 visualize predictions and provide quantitative risk assessments. Application modules 1114 and 1216 can also monitor prediction accuracy by comparing measured final test data with predicted final test data. Application modules 1114 and 1216 may also include an alarm management system that warns the user based on predetermined scenarios, such as when model accuracy deteriorates significantly or when predictions deviate from predetermined limits.

[0046] The described technology allows for the early detection of anomalies in manufacturing equipment or manufactured parts in relation to wafer fabrication and other manufacturing systems. For example, anomaly detection can be achieved using a model maintenance module, which can indicate data points that were difficult to predict. Such data points can be used to detect anomalies. Similarly, predictive data can be used to predict the maintenance of manufacturing equipment. For example, if the output of equipment is known to change over time, time-series forecasting can be used to infer the future state of the equipment. If a significant change in the equipment state is predicted, actions such as early maintenance can be taken to bring the output parameters back to an acceptable range. For example, a particular machine may perform etching or machining operations, with measurements taken after the operation. If time-series forecasting indicates that the measured values ​​will fall outside the acceptable range at a certain point, the machine's operating parameters may be adjusted (e.g., by maintenance actions) before the actual measured values ​​reach an unacceptable point. Finally, this technology can be used for virtual metrology, i.e., as an alternative to costly physical wafer measurements.

[0047] While some of the aforementioned implementations relate to manufacturing systems, the technologies described in this disclosure are applicable to other situations as well.

[0048] For example, autonomous robots and autonomous vehicles are equipped with multiple types of sensors and control their actuators based on high-frequency sensor data, for example, to avoid collisions with obstacles. With such a large number of sensors, multimodal sensors tend to receive input data at various timings. Furthermore, some data may be lost due to communication conditions. Monitoring the activity of an autonomous robot or autonomous vehicle requires quantitatively evaluating whether its predictive capabilities are functioning properly. This can be difficult because each sensor has a different scale and / or frequency. The technology described in this disclosure can process delayed data and infer missing data. Parallel processing used in the predictive system enables rapid data acquisition and prediction. A model maintenance module can quantify overall predictive performance and identify individual sensors that generate difficult-to-process data.

[0049] This technology can also be applied to automated trading. Automated trading requires high trading speed and high prediction accuracy based on data from multiple markets. Such systems must process a large number of buy and sell orders within a limited time. Data from different markets are likely to have different time granularities. When profits decrease, the predictive model needs to identify the cause. The technology described in this disclosure can reduce computational costs, enabling rapid prediction of large amounts of data. It enables inference of missing data and prediction of unobserved, delayed values. The model maintenance module can identify specific markets where data prediction is difficult and automatically adjust the model to improve predictive performance.

[0050] In general, the technologies described in this disclosure provide a consistent framework for processing multivariate time series, including values ​​that do not occur simultaneously and missing values. Using multivariate time series data from different processes leads to higher predictive performance than analyzing each process independently. Parallel routines for data acquisition, training, and prediction lead to efficient computation. Finally, the prediction system can accurately monitor and improve the predictive model.

[0051] The implementations and all functional operations described herein may be realized in digital electronic circuit configurations, or in computer software, firmware, or hardware including the structures disclosed herein and their structural equivalents, or in one or more combinations thereof. Implementations may be realized as one or more computer program products, i.e., as one or more modules of computer program instructions encoded on a computer-readable medium to be executed by or control the operation of a data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a machine-readable configuration of material that provides a propagated signal, or one or more combinations thereof. The term “computing system” includes all devices, equipment, and machines that process data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, equipment may include code that creates the execution environment for the computer program of interest (e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or any appropriate combination of one or more thereof). A propagated signal is an artificially generated signal (e.g., a machine-generated electrical, optical, or electromagnetic signal) produced to encode information to be transmitted to a suitable receiver.

[0052] Computer programs (also known as programs, software, software applications, scripts, or code) may be written in any suitable form of programming language, including compiled or interpreted languages, and may be deployed in any suitable form, including as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. Computer programs do not necessarily correspond to files in a file system. A program may be part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), a single file dedicated to the program in question, or multiple collaborative files (e.g., multiple files containing one or more modules, subprograms, or parts of code). Computer programs may be deployed to run on one computer, or on multiple computers located in one place or distributed across multiple locations and interconnected by a communication network.

[0053] The processes and logic flows described herein may be executed by one or more programmable processors that run one or more computer programs that perform functions by acting on input data and generating outputs. The processes and logic flows may also be executed by dedicated logic circuit configurations (e.g., FPGAs (field programmable gate arrays) or ASICs (application-specific integrated circuits)), and the device may also be implemented as such dedicated logic circuit configurations.

[0054] Processors suitable for executing computer programs include, for example, both general-purpose and dedicated microprocessors, as well as any one or more processors of any suitable type of digital computer. Generally, a processor receives instructions and data from read-only memory, random-access memory, or both. The components of a computer may include a processor that executes instructions and one or more memory devices that store instructions and data. Generally, a computer further includes one or more mass storage devices (e.g., magnetic, magneto-optical disks, or optical disks) that store data, or is operablely coupled to them to receive data or transfer data to them, or both. However, it is not required that a computer have such devices. Furthermore, a computer may be embedded in another device (e.g., a mobile phone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver). Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD-ROM and DVD-ROM disks. Processors and memory may be complemented by or integrated into dedicated logic circuit configurations.

[0055] Each implementation may be realized on a computer having a display device (e.g., a CRT (cathode ray tube), an LCD (liquid crystal display) monitor) that displays information to the user in order to provide user interaction, as well as a keyboard and pointing device (e.g., a mouse, trackball, touchpad) that allows the user to provide input to the computer. Other types of devices may also be used to provide user interaction. For example, the feedback provided to the user may be any appropriate form of sensory feedback (e.g., visual feedback, auditory feedback, haptic feedback), and user input may be received in any appropriate form, including acoustic, speech, or haptic input.

[0056] The implementation may be in a computing system including backend components (e.g., as a data server), a computing system including middleware components (e.g., an application server), and / or a computing system including frontend components (e.g., a client computer having a graphical user interface or a web browser that a user can use to interact with the implementation), or in any suitable combination of one or more such backend components, middleware components, or frontend components. The components of the system may be interconnected by digital data communication (e.g., a communication network) in any suitable form or medium. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs") such as the Internet.

[0057] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact via a communication network. The relationship between clients and servers arises from computer programs running on individual computers that have a client-server relationship with each other.

[0058] This specification contains numerous details, which should not be construed as limitations on the scope of this disclosure or the claims, but rather as descriptions of features specific to particular implementations. Certain features described herein in relation to separate implementations can also be implemented in combination in a single implementation. Conversely, various features described in relation to a single implementation can be implemented separately in multiple implementations, or in any suitable combination of components. Furthermore, each feature may be described above to operate in a particular combination, and may even be initially claimed to do so, but in some cases, one or more features of a claimed combination can be removed from that combination, and the claimed combination may be subject to components of the combination or variations of components of the combination.

[0059] Similarly, while each operation is shown in a specific order within the diagram, this should not be understood as requiring that the operations be performed in a specific order or sequence, or that all operations shown be performed, in order to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the implementation described above should not be understood as requiring such separation in all implementations, and naturally, the program components and systems described may generally be integrated into a single software product or packaged into multiple software products.

[0060] Several implementations are described. However, naturally, various modifications can be made without departing from the intent and scope of this disclosure. For example, various forms of the flow shown above may be used, in which steps are rearranged, added, or deleted. Therefore, other implementations are within the scope of the attached claims.

Claims

1. A method for controlling a manufacturing system using multivariate time series, The steps include recording data from one or more devices within the manufacturing system, A step of storing the recorded data in data storage as a plurality of time series, wherein each time series has a first recorded value corresponding to a first time and a final recorded value corresponding to the end of the time series, The interpolation step involves interpolating missing values ​​in a plurality of time series within a first time window using a Bayesian model, wherein the missing values ​​fall between the first and last time periods of each of the time series. A step of storing the interpolated values ​​as prediction data in prediction storage, wherein the interpolated values ​​include the uncertainty of each interpolated value, and the interpolated values ​​are stored as prediction data in prediction storage. The steps include reading the recorded data that falls within the second time window from the data storage, The steps include reading from the prediction storage prediction data that falls within the second time window and for which no alternative recorded data is available, The steps include optimizing the parameters of the Bayesian model using the loaded recorded data and the predicted data, The steps include predicting each of the aforementioned time series values ​​for which loaded recorded data and predicted data are not available using the Bayesian model, A step of storing the predicted values ​​as prediction data in the prediction storage, wherein the predicted values ​​include the uncertainty of each predicted value, and the steps of storing the predicted values ​​as prediction data in the prediction storage The steps include adjusting one or more of the devices generating the recorded data based on the predicted data within the second time window, and Methods that include...

2. The method according to claim 1, wherein the prediction data is stored as a statistical distribution or density function.

3. The method according to claim 1, wherein the prediction data is stored as a probabilistic sample, and the step of reading the prediction data includes the step of selecting a random sample from the probabilistic sample.

4. If the marginal likelihoods of the loaded recorded data and predicted data are available, the step is to calculate the marginal likelihoods of the loaded recorded data and predicted data. If the marginal likelihood of the loaded recorded data and forecast data is not applicable, the procedure involves calculating the conditional density of the loaded recorded data and forecast data. The method according to claim 1, further comprising:

5. For each of the recorded data points read within the second time window, there is a conditional probability P(x i | X j≠i ) Steps to calculate The method according to claim 1, further comprising:

6. A step of calculating a cost function that includes a conditional density and computational cost for a set of parameter values, The steps of adjusting the parameters to correspond to the lowest value of the cost function and The method according to claim 1, further comprising:

7. The method according to claim 1, wherein the step of adjusting one or more devices includes the step of performing or scheduling maintenance on one or more devices.

8. The method according to claim 1, wherein the step of adjusting one or more devices includes the step of adjusting the operating settings of one or more devices.

9. One or more processors, A computer-readable storage device coupled to one or more processors and storing instructions A system including, wherein the instruction, when executed by one or more processors, causes one or more processors to perform an operation, Recording data from one or more devices within a manufacturing system, The recorded data is stored in a data storage as a plurality of time series, wherein each time series has a first recorded value corresponding to a first time and a final recorded value corresponding to the end of the time series, and is stored in the data storage. The interpolation involves interpolating missing values ​​in the plurality of time series within a first time window using a Bayesian model, wherein the missing values ​​fall between the first and last time periods of each of the time series. The interpolated values ​​are stored in the prediction storage as prediction data, wherein the interpolated values ​​include the uncertainty of each interpolated value, and the interpolated values ​​are stored in the prediction storage as prediction data. Reading the recorded data that falls within the second time window from the data storage, Reading prediction data that falls within the second time window and for which no alternative recorded data is available from the prediction storage, The parameters of the Bayesian model are optimized using the loaded recorded data and the predicted data. To predict each of the aforementioned time series values ​​for which loaded recorded data and predicted data are not available, using the Bayesian model, The predicted values ​​are stored in the prediction storage as prediction data, wherein the predicted values ​​include the uncertainty of each predicted value, and the predicted values ​​are stored in the prediction storage as prediction data. Adjusting one or more of the devices generating the recorded data based on the predicted data within the second time window. A system that includes this.

10. The aforementioned operation is, The aforementioned prediction data is stored as a statistical distribution or density function. The system according to claim 9, further comprising:

11. The aforementioned operation is, The prediction data stored as a probabilistic sample, The prediction data is read by selecting a random sample from the aforementioned probabilistic sample. The system according to claim 9, further comprising:

12. The aforementioned operation is, If the marginal likelihoods of the loaded recorded data and predicted data are available, the marginal likelihoods of the loaded recorded data and predicted data are calculated, If the marginal likelihood of the loaded recorded data and forecast data is not applicable, the conditional density of the loaded recorded data and forecast data is calculated. The system according to claim 9, further comprising:

13. The aforementioned operation is, For each of the recorded data points read within the second time window, there is a conditional probability P(x i | X j≠i ) to perform calculations The system according to claim 9, further comprising:

14. The aforementioned operation is, Calculating a cost function that includes conditional density and computational cost for a set of parameter values, Adjusting the parameters to correspond to the lowest value of the cost function. The system according to claim 9, further comprising:

15. The aforementioned operation is, Performing or scheduling maintenance on one or more of the aforementioned devices. The system according to claim 9, further comprising:

16. The aforementioned operation is, Adjusting the operating settings of one or more of the aforementioned devices. The system according to claim 9, further comprising:

17. A computer-readable storage medium coupled to one or more processors and storing instructions, wherein when an instruction is executed by the one or more processors, it causes the one or more processors to perform an operation, and the operation is Recording data from one or more devices within a manufacturing system, The recorded data is stored in a data storage as a plurality of time series, wherein each time series has a first recorded value corresponding to a first time and a final recorded value corresponding to the end of the time series, and is stored in the data storage. The interpolation involves interpolating missing values ​​in the plurality of time series within a first time window using a Bayesian model, wherein the missing values ​​fall between the first and last time periods of each of the time series. The interpolated values ​​are stored in the prediction storage as prediction data, wherein the interpolated values ​​include the uncertainty of each interpolated value, and the interpolated values ​​are stored in the prediction storage as prediction data. Reading the recorded data that falls within the second time window from the data storage, Reading prediction data that falls within the second time window and for which no alternative recorded data is available from the prediction storage, The parameters of the Bayesian model are optimized using the loaded recorded data and the predicted data. To predict each of the aforementioned time series values ​​for which loaded recorded data and predicted data are not available, using the Bayesian model, The predicted values ​​are stored in the prediction storage as prediction data, wherein the predicted values ​​include the uncertainty of each predicted value, and the predicted values ​​are stored in the prediction storage as prediction data. Adjusting one or more of the devices generating the recorded data based on the predicted data within the second time window. Storage media, including

18. The aforementioned operation is, The aforementioned prediction data is stored as a statistical distribution or density function. The storage medium according to claim 17, further comprising:

19. The aforementioned operation is, The prediction data stored as a probabilistic sample, The prediction data is read by selecting a random sample from the aforementioned probabilistic sample. The storage medium according to claim 17, further comprising:

20. The aforementioned operation is, If the marginal likelihoods of the loaded recorded data and predicted data are available, the marginal likelihoods of the loaded recorded data and predicted data are calculated, If the marginal likelihood of the loaded recorded data and forecast data is not applicable, the conditional density of the loaded recorded data and forecast data is calculated. The storage medium according to claim 17, further comprising:

Citation Information

Patent Citations

  • Ai extensions and intelligent model validation for an industrial digital twin

    EP3696622A1

  • Method for testing communication equipment

    JP1989064447A

  • JPP7147131B

  • Monitoring device, and method for controlling monitoring device

    WO2017138239A1