DE102022205835A1 - Method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution - Google Patents
Method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution Download PDFInfo
- Publication number
- DE102022205835A1 DE102022205835A1 DE102022205835.6A DE102022205835A DE102022205835A1 DE 102022205835 A1 DE102022205835 A1 DE 102022205835A1 DE 102022205835 A DE102022205835 A DE 102022205835A DE 102022205835 A1 DE102022205835 A1 DE 102022205835A1
- Authority
- DE
- Germany
- Prior art keywords
- machine learning
- algorithm
- computing nodes
- ensemble
- learning algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 257
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000004065 semiconductor Substances 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 11
- 235000012431 wafers Nutrition 0.000 description 19
- 238000012545 processing Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 4
- 238000011179 visual inspection Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
Die Erfindung betrifft ein Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung, wobei die wenigstens zwei Rechenknoten über ein Netzwerk kommunikativ miteinander verbunden sind, und wobei das Verfahren folgende Schritte aufweist: Für jeden der wenigstens zwei Rechenknoten, Erfassen einer aktuellen Auslastung des entsprechenden Rechenknotens (2); und für wenigstens einen Algorithmus des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens, jeweils Zuordnen des entsprechenden Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung basierend auf den aktuellen Auslastungen der wenigstens zwei Rechenknoten, Ressourcenanforderungen des entsprechenden Algorithmus des maschinellen Lernens und Informationen über die Ausführung des entsprechenden Algorithmus des maschinellen Lernens.The invention relates to a method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution, wherein the at least two computing nodes are communicatively connected to one another via a network, and wherein the method has the following steps : For each of the at least two computing nodes, recording a current utilization of the corresponding computing node (2); and for at least one machine learning algorithm of the ensemble machine learning algorithm, each assigning the corresponding machine learning algorithm to one of the at least two computing nodes for execution based on the current workloads of the at least two computing nodes, resource requirements of the corresponding machine learning algorithm, and Information about the execution of the corresponding machine learning algorithm.
Description
Die Erfindung betrifft ein Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung und insbesondere ein Verfahren, mit welchem einzelne Algorithmen eines Ensemble-Algorithmus des maschinellen Lernens jeweils derart wenigstens einem Rechenknoten eines Rechensystems zugeordnet werden, dass die Ressourcen des Rechensystems effizient ausgenutzt werden können.The invention relates to a method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution and in particular to a method with which individual algorithms of an ensemble machine learning algorithm are each assigned to at least one computing node of a computing system so that the resources of the computing system can be used efficiently.
Im Bereich der Informationstechnologie können einzelne Aufforderungen beziehungsweise Requests erfordern, dass mehrere Tasks beziehungsweise Prozesse ausgeführt beziehungsweise abgearbeitet werden, um auf die entsprechende Aufforderung zu reagieren. Zudem werden im Bereich des maschinellen Lernens häufig Ensemble-Algorithmen des maschinellen Lernens verwendet, um die Präzision beziehungsweise Genauigkeit der erzeugten Ausgabedaten zu erhöhen. Ein Ensemble-Algorithmus des maschinellen Lernens basiert dabei auf einem Ensemble von Algorithmen des maschinellen Lernens beziehungsweise einem Ausführen mehrere Algorithmen des maschinellen Lernens, wobei anschließend basierend auf den Ergebnissen beziehungsweise Ausgabedaten der einzelnen Algorithmen des maschinellen Lernens ein Gesamtergebnis ermittelt wird. Angewendet werden derartige Ensemble-Algorithmen des maschinellen Lernens beispielsweise im Bereich der End of Line Inspection, das heißt der finalen Sichtprüfung von gefertigten beziehungsweise produzierten Produkten beziehungsweise Bauteilen.In the area of information technology, individual requests or requests may require that several tasks or processes be executed or processed in order to respond to the corresponding request. In addition, in the field of machine learning, machine learning ensemble algorithms are often used to increase the precision or accuracy of the output data generated. An ensemble machine learning algorithm is based on an ensemble of machine learning algorithms or on executing several machine learning algorithms, with an overall result then being determined based on the results or output data of the individual machine learning algorithms. Such machine learning ensemble algorithms are used, for example, in the area of end-of-line inspection, i.e. the final visual inspection of manufactured or produced products or components.
Um Latenzen beziehungsweise Bearbeitungszeiten zu verkürzen, werden die Tasks beziehungsweise Algorithmen des maschinellen Lernens dabei auf mehreren Rechner- beziehungsweise Rechenknoten eines Rechensystems, welche über ein Netzwerk kommunikativ miteinander verbunden sind, ausgeführt. Als nachteilig erweist sich dabei jedoch, dass die Zuordnung der einzelnen Tasks beziehungsweise Algorithmen des maschinellen Lernens zu den Rechenknoten häufig statisch ist, was dazu führen kann, dass die Ressourcen des Rechensystems, beispielsweise Speicher- und/oder Prozessorkapazitäten, nicht optimal ausgenutzt werden.In order to shorten latencies or processing times, the tasks or algorithms of machine learning are carried out on several computer or computing nodes of a computing system, which are communicatively connected to one another via a network. However, the disadvantage is that the assignment of the individual tasks or algorithms of machine learning to the computing nodes is often static, which can lead to the resources of the computing system, for example memory and/or processor capacities, not being optimally utilized.
Während des Betriebs eines derartigen Rechensystems kann es jedoch von Vorteil sein, den Betrieb der Umgebung beziehungsweise des Rechensystems zu optimieren, um bestimmte Ziele zu erfüllen, wie etwa Kosten- und/oder Ressourceneinsparungen. Die Kosteneinsparungen können dabei beispielsweise in Form verringerter Leistungsnutzung, verringerter Wärmeerzeugung und verringerter Abnutzung der Bauteile der Rechnerknoten auftreten. Die Ressourceneinsparungen können ferner beispielsweise ein Einsparen von Speicher- und/oder Prozessorkapazität5en aufweisen.However, during the operation of such a computing system, it may be advantageous to optimize the operation of the environment or the computing system in order to meet certain goals, such as cost and/or resource savings. The cost savings can occur, for example, in the form of reduced power utilization, reduced heat generation and reduced wear on the components of the computer nodes. The resource savings can also include, for example, a saving of memory and/or processor capacity.
Aus der Druckschrift
Der Erfindung liegt somit die Aufgabe zugrunde, ein verbessertes Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung anzugeben.The invention is therefore based on the object of specifying an improved method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution.
Die Aufgabe wird gelöst durch ein Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung gemäß den Merkmalen des Patentanspruchs 1.The task is solved by a method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution according to the features of patent claim 1.
Die Aufgabe wird zudem auch gelöst durch ein Steuergerät zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung gemäß den Merkmalen des Patentanspruchs 8.The task is also solved by a control device for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution according to the features of patent claim 8.
Offenbarung der ErfindungDisclosure of the invention
Gemäß einer Ausführungsform der Erfindung wird diese Aufgabe gelöst durch ein Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung, wobei die wenigstens zwei Rechenknoten über ein Netzwerk kommunikativ miteinander verbunden sind, und wobei für jeden der wenigstens zwei Rechenknoten eine aktuelle Auslastung des entsprechenden Rechenknotens erfasst wird, und wobei, für wenigstens einen Algorithmus des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens, der entsprechende Algorithmus des maschinellen Lernen zu einem der wenigstens zwei Rechenknoten basierend auf den aktuellen Auslastungen der Rechenknoten, Ressourcenanforderungen des entsprechenden Algorithmus des maschinellen Lernens und Informationen über die Ausführung des entsprechenden Algorithmus des maschinellen Lernens zur Ausführung zugeordnet wird.According to one embodiment of the invention, this object is achieved by a method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution, the at least two computing nodes being communicatively connected to one another via a network, and where for each of the at least two computing nodes a current utilization of the corresponding one Computing node is detected, and wherein, for at least one machine learning algorithm of the ensemble machine learning algorithm, the corresponding machine learning algorithm to one of the at least two computing nodes based on the current workloads of the computing nodes, resource requirements of the corresponding machine learning algorithm and Information about the execution of the corresponding machine learning algorithm is assigned for execution.
Algorithmen des maschinellen Lernens basieren darauf, dass Verfahren der Statistik verwendet werden, um eine Datenverarbeitungsanlage derart zu trainieren, dass diese eine bestimmte Aufgabe ausführen kann, ohne dass diese ursprünglich explizit hierzu programmiert wurde. Das Ziel des maschinellen Lernens besteht dabei darin, Algorithmen zu konstruieren, die aus Daten lernen und Vorhersagen treffen können. Diese Algorithmen erstellen mathematische Modelle, mit denen beispielsweise Daten klassifiziert werden können.Machine learning algorithms are based on the fact that statistical methods are used to train a data processing system so that it can carry out a specific task without it having originally been explicitly programmed for this purpose. The goal of machine learning is to construct algorithms that can learn from data and make predictions. These algorithms create mathematical models that can be used, for example, to classify data.
Dass ein Algorithmus des maschinellen Lernens einem Rechenknoten zur Ausführung zugeordnet wird, bedeutet ferner, dass der Algorithmus des maschinellen Lernens einem Rechenknoten zugeordnet wird, auf welchem dieser ausgeführt werden soll.The fact that a machine learning algorithm is assigned to a computing node for execution further means that the machine learning algorithm is assigned to a computing node on which it is to be executed.
Unter Rechenknoten beziehungsweise Computer Node wird weiter ein einzelner Rechner eines größeren Rechnerverbundes beziehungsweise Rechensystems verstanden. Ein solcher Rechenknoten kann vom Aufbau her im Wesentlichen einem herkömmlichen Personalcomputer entsprechen, wobei dieser häufig jedoch mit sehr leistungsfähigen Komponenten, beispielsweise CPU, Hauptspeicher, Netzwerkanbindung, oder Kühlsystem ausgestattet ist, und wobei ein Rechenknoten für gewöhnlich auf die Verwendung im Verbund mit anderen Rechenknoten ausgelegt ist.A computing node or computer node is also understood to mean an individual computer in a larger computer network or computing system. Such a computing node can essentially correspond in structure to a conventional personal computer, although this is often equipped with very powerful components, for example CPU, main memory, network connection, or cooling system, and a computing node is usually designed for use in conjunction with other computing nodes is.
Unter aktueller Auslastung eines Rechenknotens wird dabei ein aktueller Wert eines Verhältnisses der tatsächlich vorhandenen beziehungsweise abrufbaren Leistung des entsprechenden Rechenknotens zur real genutzten Leistung des Rechenknotens verstanden.The current utilization of a computing node is understood to mean a current value of a ratio of the actually available or available power of the corresponding computing node to the actually used power of the computing node.
Unter Ressourcenanforderung eines Algorithmus des maschinellen Lernens wird weiter der Ressourcenbedarf beziehungsweise werden die Anforderungen des entsprechenden Algorithmus des maschinellen Lernens im Hinblick auf die zur Ausführung des entsprechenden Algorithmus des maschinellen Lernens benötigten Ressourcen verstanden.The resource requirement of a machine learning algorithm is further understood to mean the resource requirements or the requirements of the corresponding machine learning algorithm with regard to the resources required to execute the corresponding machine learning algorithm.
Unter Informationen über die Ausführung des entsprechenden Algorithmus des maschinellen Lernens werden dabei Informationen darüber, ob der entsprechende Algorithmus des maschinellen Lernens aktuell oder in der Vergangenheit bereits auf einem oder mehreren der wenigstens zwei Rechenknoten ausgeführt wurde, verstanden.Information about the execution of the corresponding machine learning algorithm is understood to mean information about whether the corresponding machine learning algorithm is currently or has already been executed in the past on one or more of the at least two computing nodes.
Somit kann neben der aktuellen Auslastung der Rechenknoten und den Ressourcenanforderungen der einzelnen Algorithmen des maschinellen Lernens bei der Zuordnung von Algorithmen des maschinellen Lernens zu den Rechenknoten auch berücksichtigt werden, ob ein Algorithmus des maschinellen Lernens bereits auf einem der Rechenknoten ausgeführt wird beziehungsweise wurde, das heißt ob bereits eine Version des entsprechenden Algorithmus des maschinellen Lernens in einem Cache oder einem Speicher des entsprechenden Rechenknotens hinterlegt ist. Dass diese Informationen berücksichtigt werden, hat dabei den Vorteil, dass die einzelnen Algorithmen des maschinellen Lernens derart auf die Rechenknoten verteilt werden können, dass die Algorithmen des maschinellen Lernens nicht erneut heruntergeladen werden müssen und auch die zur Ausführung des Ensemble-Algorithmus des maschinellen Lernens insgesamt benötigte Zeit reduziert werden kann, zumal entsprechende Latenzen vermieden werden können. Zudem kann auch der Verkehr beziehungsweise das Datenaufkommen innerhalb des Netzwerkes optimiert werden.In addition to the current utilization of the computing nodes and the resource requirements of the individual machine learning algorithms, when assigning machine learning algorithms to the computing nodes, it can also be taken into account whether a machine learning algorithm is or has already been executed on one of the computing nodes, that is whether a version of the corresponding machine learning algorithm is already stored in a cache or memory of the corresponding computing node. The fact that this information is taken into account has the advantage that the individual machine learning algorithms can be distributed among the computing nodes in such a way that the machine learning algorithms do not have to be downloaded again and also those for executing the machine learning ensemble algorithm as a whole The time required can be reduced, especially since corresponding latencies can be avoided. In addition, the traffic and data volume within the network can also be optimized.
Insgesamt wird somit ein verbessertes Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung angegeben.Overall, an improved method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution is thus provided.
Dabei kann das Verfahren weiter ein Speichern der Zuordnung des wenigstens einen Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten in einem Zuordnungsplan aufweisen.The method can further include storing the assignment of the at least one machine learning algorithm to one of the at least two computing nodes in an assignment plan.
Unter einem Zuordnungsplan wird dabei ein Plan beziehungsweise Ablaufschema verstanden, in welchem die bestimmten Zuordnungen hinterlegt werden.An assignment plan is understood to be a plan or flowchart in which the specific assignments are stored.
Dass die bestimmte Zuordnung in einem Zuordnungsplan gespeichert beziehungsweise hinterlegt werden, hat dabei den Vorteil, dass die Zuordnung zu einem späteren Zeitpunkt nicht noch einmal neu bestimmt werden muss, falls der entsprechende Algorithmus des maschinellen Lernens nicht direkt auf dem zugeordneten Rechenknoten ausgeführt werden kann, wodurch noch zusätzlich Ressourcen eingespart werden können.The fact that the specific assignment is saved or stored in an assignment plan has the advantage that the assignment does not have to be redetermined again at a later point in time if the corresponding machine learning algorithm cannot be executed directly on the assigned computing node, whereby additional resources can be saved.
Mit einer weiteren Ausführungsform der Erfindung wird auch ein Verfahren zum Überprüfen eines produzierten Bauteils angegeben, wobei das Überprüfen des produzierten Bauteils ein Ausführen eines Ensemble-Algorithmus des maschinellen Lernens auf wenigstens zwei über ein Netzwerk kommunikativ miteinander verbundenen Rechenknoten aufweist, und wobei das Verfahren ein Bereitstellen des Ensemble-Algorithmus des maschinellen Lernens zum Überprüfen des produzierten Bauteils, und ein Überprüfen des produzierten Bauteils durch Ausführen des Ensemble-Algorithmus des maschinellen Lernens aufweist, wobei das Ausführen des Ensemble-Algorithmus des maschinellen Lernens ein jeweiliges Zuordnen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung durch ein obenstehend beschriebenes Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung aufweist.A further embodiment of the invention also provides a method for checking a produced component, wherein checking the produced component includes executing a machine learning ensemble algorithm on at least two computing nodes that are communicatively connected to one another via a network, and wherein the method includes providing the machine learning ensemble algorithm for checking the produced component, and checking the produced component by executing the machine learning ensemble algorithm, wherein executing the machine learning ensemble algorithm includes respectively assigning the individual machine learning algorithms Ensemble machine learning algorithm to one of the at least two computing nodes for execution by a method described above for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution.
Somit wird ein Verfahren zum Überprüfen eines produzierten Bauteils angegeben, welches auf einem verbesserten Verfahren zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung basiert. Insbesondere wird dabei neben der aktuellen Auslastung der Rechenknoten und den Ressourcenanforderungen der einzelnen Algorithmen des maschinellen Lernens bei der Zuordnung von Algorithmen des maschinellen Lernens zu den Rechenknoten auch berücksichtigt, ob ein Algorithmus des maschinellen Lernens bereits auf einem der Rechenknoten ausgeführt wird beziehungsweise wurde, das heißt ob bereits eine Version des entsprechenden Algorithmus des maschinellen Lernens in einem Cache oder einem Speicher des entsprechenden Rechenknotens hinterlegt ist. Dass diese Informationen berücksichtigt werden, hat dabei den Vorteil, dass die einzelnen Algorithmen des maschinellen Lernens derart auf die Rechenknoten verteilt werden können, dass die Algorithmen des maschinellen Lernens nicht erneut heruntergeladen werden müssen und auch die zur Ausführung des Ensemble-Algorithmus des maschinellen Lernens insgesamt benötigte Zeit reduziert werden kann, zumal dabei Latenzen vermieden werden können. Zudem kann auch der Verkehr beziehungsweise das Datenaufkommen innerhalb des Netzwerkes optimiert werden.Thus, a method for checking a produced component is provided, which is based on an improved method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution. In particular, in addition to the current utilization of the computing nodes and the resource requirements of the individual machine learning algorithms, when assigning machine learning algorithms to the computing nodes, it is also taken into account whether a machine learning algorithm is or has already been executed on one of the computing nodes, that is whether a version of the corresponding machine learning algorithm is already stored in a cache or memory of the corresponding computing node. The fact that this information is taken into account has the advantage that the individual machine learning algorithms can be distributed among the computing nodes in such a way that the machine learning algorithms do not have to be downloaded again and also those for executing the machine learning ensemble algorithm as a whole The time required can be reduced, especially since latencies can be avoided. In addition, the traffic and data volume within the network can also be optimized.
In einer Ausführungsform weist der Schritt des Bereitstellens des Ensemble-Algorithmus des maschinellen Lernens zum Überprüfen des produzierten Bauteils weiter ein Empfangen einer Aufforderung, das produzierte Bauteil zu überprüfen, und ein Auswählen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens basierend auf der empfangenen Aufforderung, auf.In one embodiment, the step of providing the ensemble machine learning algorithm to inspect the produced component further comprises receiving a request to inspect the produced component and selecting the individual machine learning algorithms based on the ensemble machine learning algorithm the request received.
Unter Aufforderung beziehungsweise Request wird dabei allgemein ein Befehl zur Ausführung einer speziellen Funktion verstanden, wobei die Aufforderung für gewöhnlich das zu überprüfende Bauteil kennzeichnende Daten aufweist. So kann die Aufforderung beispielsweise, falls es sich bei dem produzierten Bauteil um einen mit Halbleiterchips bestückten Wafer handelt, eine Wafermap beziehungsweise eine Oberfläche des Wafers kennzeichnende Bilddaten und entsprechende Metadaten aufweisen.A request is generally understood to be a command to execute a special function, with the request usually having data identifying the component to be checked. For example, if the component produced is a wafer equipped with semiconductor chips, the request can have a wafer map or image data characterizing a surface of the wafer and corresponding metadata.
Hierdurch kann sichergestellt werden, dass genau die zur Ausführung der mit der empfangenen Aufforderung verknüpften Funktion benötigten Algorithmen des maschinellen Lernens ausgeführt werden, wodurch weiter auch sichergestellt werden kann, dass nicht unnötig Ressourcen durch die Ausführung nicht benötigter Algorithmen des maschinellen Lernens verbraucht werden.This can ensure that exactly the machine learning algorithms required to execute the function associated with the received request are executed, which can also ensure that resources are not unnecessarily consumed by executing unneeded machine learning algorithms.
Weiter kann das Verfahren auch ein Vorverarbeiten der empfangenen Aufforderung aufweisen.Furthermore, the method can also include pre-processing of the received request.
Unter Vorverarbeitung der empfangenen Aufforderung wird dabei verstanden, dass in der Aufforderung enthaltene, dass gefertigte Bauteil kennzeichnende Daten vorverarbeitet werden, beispielsweise Ausreißer in den Daten entfernt und/oder die Daten bereinigt werden. Beispielsweise kann, falls es sich bei dem gefertigten Bauteil um einen mit Halbleiterchips bestückten Wafer handelt, das Vorverarbeiten der Aufforderung ein Anpassen der Helligkeit einer entsprechenden Wafermap aufweisen.Preprocessing of the received request is understood to mean that data that characterizes the manufactured component contained in the request is preprocessed, for example outliers in the data are removed and/or the data is cleaned. For example, if the manufactured component is a wafer equipped with semiconductor chips, the preprocessing of the request can include adjusting the brightness of a corresponding wafer map.
Durch Vorverarbeitung der Aufforderung beziehungsweise von in der Aufforderung enthaltenen Daten können somit weiter, insbesondere beim anschließenden Verarbeiten der entsprechenden Daten benötigte Ressourcen eingespart werden.By pre-processing the request or the data contained in the request, resources required can be saved, particularly during the subsequent processing of the corresponding data.
Zudem kann das Verfahren auch ein Überprüfen, ob das gefertigte Bauteil innerhalb einer hierfür vorgesehenen Zeit überprüft werden kann, basierend auf den jeweiligen Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung aufweisen. Somit können Aufforderungen beziehungsweise Requests, welche nicht innerhalb einer vorgegebenen beziehungsweise vorgeschriebenen Zeit ausgeführt werden können, direkt basierend auf den jeweiligen bestimmten Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung und somit insbesondere noch vor dem eigentlichen Ausführen der einzelnen Algorithmen des maschinellen Lernens, das heißt frühzeitig verworfen werden.In addition, the method can also include checking whether the manufactured component can be checked within a time provided for this purpose, based on the respective assignments of the individual machine learning algorithms of the machine learning ensemble algorithm to one of the at least two computing nodes for execution. This means that prompts or requests that cannot be executed within a specified or prescribed time can be directly based on the respective specific assignments of the individual machine learning algorithms Ensemble machine learning algorithm to one of the at least two computing nodes for execution and thus in particular before the individual machine learning algorithms are actually executed, i.e. discarded at an early stage.
Bei dem produzierten Bauteil kann es sich ferner um einen mit Halbleiterchips bestückten Wafer handeln.The component produced can also be a wafer equipped with semiconductor chips.
So ist es insbesondere bei der Fertigung von mit Halbleiterchips bestückten Wafern vonnöten, diese nach Fertigung einer Prüfung zu unterziehen, basierend auf welcher beispielsweise defekte Halbleiterchips manuell und/oder automatisch verworfen werden können.In particular, when producing wafers equipped with semiconductor chips, it is necessary to subject them to a test after production, based on which, for example, defective semiconductor chips can be discarded manually and/or automatically.
Dabei, dass es sich bei dem produzierten Bauteil um einen mit Halbleiterchips bestückten Wafer handelt, handelt es sich jedoch nur um eine mögliche Ausführungsform. So kann es sich bei dem produzierten Bauteil auch um jedes weitere Bauteil, welches nach Fertigung einer Prüfung, beispielsweise einer Sichtprüfung unterzogen wird, handeln, beispielsweise im Rahmen des Automotive End of Line Testing.However, the fact that the component produced is a wafer equipped with semiconductor chips is only one possible embodiment. The produced component can also be any other component that is subjected to a test, for example a visual inspection, after production, for example as part of automotive end of line testing.
Mit einer weiteren Ausführungsform der Erfindung wird weiter auch ein Steuergerät zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung angegeben, wobei die wenigstens zwei Rechenknoten über ein Netzwerk kommunikativ miteinander verbunden sind, und wobei das Steuergerät eine Bereitstellungseinheit, welche ausgebildet ist, für jeden der wenigstens zwei Rechenknoten eine aktuelle Auslastung des entsprechenden Rechenknotens bereitzustellen, und eine Zuordnungseinheit, welche ausgebildet ist, für wenigstens einen Algorithmus des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens, jeweils den entsprechenden Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten basierend auf den aktuellen Auslastungen der Rechenknoten, Ressourcenanforderungen des entsprechenden Algorithmus des maschinellen Lernens und Informationen über die Ausführung des entsprechenden Algorithmus des maschinellen Lernens zur Ausführung zuzuordnen.A further embodiment of the invention also provides a control device for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution, the at least two computing nodes being communicatively connected to one another via a network, and wherein the control device has a provision unit which is designed to provide a current utilization of the corresponding computing node for each of the at least two computing nodes, and an allocation unit which is designed to provide at least one machine learning algorithm of the machine learning ensemble algorithm, respectively to assign the corresponding machine learning algorithm to one of the at least two computing nodes based on the current workloads of the computing nodes, resource requirements of the corresponding machine learning algorithm and information about the execution of the corresponding machine learning algorithm for execution.
Somit wird ein verbessertes Steuergerät zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung angegeben. Insbesondere wird dabei neben der aktuellen Auslastung der Rechenknoten und den Ressourcenanforderungen der einzelnen Algorithmen des maschinellen Lernens bei der Zuordnung von Algorithmen des maschinellen Lernens zu den Rechenknoten auch berücksichtigt, ob ein Algorithmus des maschinellen Lernens bereits auf einem der Rechenknoten ausgeführt wird beziehungsweise wurde, das heißt ob bereits eine Version des entsprechenden Algorithmus des maschinellen Lernens in einem Cache oder einem Speicher des entsprechenden Rechenknotens hinterlegt ist. Dass diese Informationen berücksichtigt werden, hat dabei den Vorteil, dass die einzelnen Algorithmen des maschinellen Lernens derart auf die Rechenknoten verteilt werden können, dass die Algorithmen des maschinellen Lernens nicht erneut heruntergeladen werden müssen und auch die zur Ausführung des Ensemble-Algorithmus des maschinellen Lernens insgesamt benötigte Zeit reduziert werden kann, zumal dabei Latenzen vermieden werden können. Zudem kann auch der Verkehr beziehungsweise das Datenaufkommen innerhalb des Netzwerkes optimiert werden.Thus, an improved controller for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution is provided. In particular, in addition to the current utilization of the computing nodes and the resource requirements of the individual machine learning algorithms, when assigning machine learning algorithms to the computing nodes, it is also taken into account whether a machine learning algorithm is or has already been executed on one of the computing nodes, that is whether a version of the corresponding machine learning algorithm is already stored in a cache or memory of the corresponding computing node. The fact that this information is taken into account has the advantage that the individual machine learning algorithms can be distributed among the computing nodes in such a way that the machine learning algorithms do not have to be downloaded again and also those for executing the machine learning ensemble algorithm as a whole The time required can be reduced, especially since latencies can be avoided. In addition, the traffic and data volume within the network can also be optimized.
Dabei kann das Steuergerät weiter einen Speicher zum Speichern der Zuordnung des wenigstens einen Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten in einem Zuordnungsplan aufweisen. Dass die bestimmte Zuordnung in einem Zuordnungsplan gespeichert beziehungsweise hinterlegt werden, hat dabei den Vorteil, dass die Zuordnung zu einem späteren Zeitpunkt nicht noch einmal bestimmt werden muss, falls der entsprechende Algorithmus des maschinellen Lernens nicht direkt auf dem zugeordneten Rechenknoten ausgeführt werden kann, wodurch noch zusätzlich Ressourcen eingespart werden können.The control device can further have a memory for storing the assignment of the at least one machine learning algorithm to one of the at least two computing nodes in an assignment plan. The fact that the specific assignment is saved or stored in an assignment plan has the advantage that the assignment does not have to be determined again at a later point in time if the corresponding machine learning algorithm cannot be executed directly on the assigned computing node, which means that additional resources can be saved.
Mit einer weiteren Ausführungsform der Erfindung wird zudem auch ein Steuergerät zum Überprüfen eines produzierten Bauteils angegeben, wobei das Überprüfen des produzierten Bauteils ein Ausführen eines Ensemble-Algorithmus des maschinellen Lernens auf wenigstens zwei über ein Netzwerk kommunikativ miteinander verbundenen Rechenknoten aufweist, und wobei das Steuergerät eine Bereitstellungseinheit, welche ausgebildet ist, den Ensemble-Algorithmus des maschinellen Lernens zum Überprüfen des produzierten Bauteils bereitzustellen, und eine Überprüfungseinheit, welche ausgebildet ist, das produzierte Bauteil durch Ausführen des Ensemble-Algorithmus des maschinellen Lernens zu überprüfen, wobei das Ausführen des Ensemble-Algorithmus des maschinellen Lernens ein jeweiliges Zuordnen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung durch ein obenstehend beschriebenes Steuergerät zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung aufweist.A further embodiment of the invention also provides a control device for checking a produced component, wherein checking the produced component involves executing an ensemble algorithm of machine learning on at least two computing nodes that are communicatively connected to one another via a network, and wherein the control device has a Providing unit, which is designed to provide the machine learning ensemble algorithm for checking the produced component, and a checking unit, which is designed to check the produced component by executing the machine learning ensemble algorithm, wherein executing the ensemble algorithm of machine learning, a respective assignment of the individual machine learning algorithms of the ensemble machine learning algorithm to one of the at least two computing nodes for execution by a control device described above for assigning at least one machine learning algorithm of an ensemble algorithm mus of machine learning to one of at least two computing nodes for execution.
Somit wird ein Steuergerät zum Überprüfen eines produzierten Bauteils angegeben, welches auf einem verbesserten Steuergerät zum Zuordnen von wenigstens einem Algorithmus des maschinellen Lernens eines Ensemble-Algorithmus des maschinellen Lernens zu einem von wenigstens zwei Rechenknoten zur Ausführung basiert. Insbesondere wird dabei neben der aktuellen Auslastung der Rechenknoten und den Ressourcenanforderungen der einzelnen Algorithmen des maschinellen Lernens bei der Zuordnung von Algorithmen des maschinellen Lernens zu den Rechenknoten auch berücksichtigt, ob ein Algorithmus des maschinellen Lernens bereits auf einem der Rechenknoten ausgeführt wird beziehungsweise wurde, das heißt ob bereits eine Version des entsprechenden Algorithmus des maschinellen Lernens in einem Cache oder einem Speicher des entsprechenden Rechenknotens hinterlegt ist. Dass diese Informationen berücksichtigt werden, hat dabei den Vorteil, dass die einzelnen Algorithmen des maschinellen Lernens derart auf die Rechenknoten verteilt werden können, dass die Algorithmen des maschinellen Lernens nicht erneut heruntergeladen werden müssen und auch die zur Ausführung des Ensemble-Algorithmus des maschinellen Lernens insgesamt benötigte Zeit reduziert werden kann, zumal dabei Latenzen vermieden werden können. Zudem kann auch der Verkehr beziehungsweise das Datenaufkommen innerhalb des Netzwerkes optimiert werden.Thus, a control device for checking a produced component is specified, which is based on an improved control device for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution. In particular, in addition to the current utilization of the computing nodes and the resource requirements of the individual machine learning algorithms, when assigning machine learning algorithms to the computing nodes, it is also taken into account whether a machine learning algorithm is or has already been executed on one of the computing nodes, that is whether a version of the corresponding machine learning algorithm is already stored in a cache or memory of the corresponding computing node. The fact that this information is taken into account has the advantage that the individual machine learning algorithms can be distributed among the computing nodes in such a way that the machine learning algorithms do not have to be downloaded again and also those for executing the machine learning ensemble algorithm as a whole The time required can be reduced, especially since latencies can be avoided. In addition, the traffic and data volume within the network can also be optimized.
In einer Ausführungsform weist die Bereitstellungseinheit weiter eine Empfangseinheit zum Empfangen einer Aufforderung, das produzierte Bauteil zu überprüfen, und eine Auswahleinheit, welche ausgebildet ist, die einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens basierend auf der empfangenen Aufforderung auszuwählen, auf. Hierdurch kann sichergestellt werden, dass genau die zur Ausführung der mit der empfangenen Aufforderung verknüpften Funktion benötigten Algorithmen des maschinellen Lernens ausgeführt werden, wodurch weiter auch sichergestellt werden kann, dass nicht unnötig Ressourcen durch die Ausführung nicht benötigter Algorithmen des maschinellen Lernens verbraucht werden.In one embodiment, the provision unit further has a receiving unit for receiving a request to check the produced component, and a selection unit which is designed to select the individual machine learning algorithms of the ensemble machine learning algorithm based on the received request. This can ensure that exactly the machine learning algorithms required to execute the function associated with the received request are executed, which can also ensure that resources are not unnecessarily consumed by executing unneeded machine learning algorithms.
Dabei kann das Steuergerät weiter eine Vorverarbeitungseinheit, welche ausgebildet ist, die empfangene Aufforderung vorzuverarbeiten, aufweisen. Durch Vorverarbeitung der Aufforderung beziehungsweise von in der Aufforderung enthaltenen Daten können dabei weiter, insbesondere beim anschließenden Weiterverarbeiten der entsprechenden Daten benötigte Ressourcen eingespart werden.The control device can further have a pre-processing unit, which is designed to pre-process the received request. By pre-processing the request or data contained in the request, resources required can be saved, particularly during the subsequent further processing of the corresponding data.
Zudem kann das Steuergerät weiter eine Überprüfungseinheit, welche ausgebildet ist, basierend auf den jeweiligen Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung zu überprüfen, ob das produzierte Bauteil innerhalb einer hierfür vorgesehenen Zeit überprüft werden kann, aufweisen. Somit können Aufforderungen beziehungsweise Requests, welche nicht innerhalb einer vorgegebenen beziehungsweise vorgeschriebenen Zeit ausgeführt werden können, direkt basierend auf den jeweiligen bestimmten Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten zur Ausführung und somit insbesondere noch vor dem eigentlichen Ausführen der einzelnen Algorithmen des maschinellen Lernens, das heißt frühzeitig verworfen werden.In addition, the control device can further have a checking unit which is designed to check, based on the respective assignments of the individual machine learning algorithms of the ensemble machine learning algorithm to one of the at least two computing nodes for execution, whether the component produced is within a time intended for this purpose can be checked. Thus, prompts or requests that cannot be executed within a predetermined or prescribed time can be directly based on the respective specific assignments of the individual machine learning algorithms of the machine learning ensemble algorithm to one of the at least two computing nodes for execution and thus in particular before the individual machine learning algorithms are actually executed, i.e. discarded early on.
Bei dem produzierten Bauteil kann es sich ferner wiederum um einen mit Halbleiterchips bestückten Wafer handeln. So ist es insbesondere bei der Fertigung von mit Halbleiterchips bestückten Wafern vonnöten, diese nach Fertigung einer Prüfung zu unterziehen, basierend auf welcher beispielsweise defekte Halbleiterchips manuell und/oder automatisch verworfen werden können.The component produced can also be a wafer equipped with semiconductor chips. In particular, when producing wafers equipped with semiconductor chips, it is necessary to subject them to a test after production, based on which, for example, defective semiconductor chips can be discarded manually and/or automatically.
Dabei, dass es sich bei dem produzierten Bauteil um einen mit Halbleiterchips bestückten Wafer handelt, handelt es sich jedoch wiederum nur um eine mögliche Ausführungsform. So kann es sich bei dem produzierten Bauteil auch um jedes weitere Bauteil, welches nach Fertigung einer Prüfung, beispielsweise einer Sichtprüfung unterzogen wird, handeln, beispielsweise im Rahmen des Automotive End of Line Testing.However, the fact that the component produced is a wafer equipped with semiconductor chips is again only a possible embodiment. The produced component can also be any other component that is subjected to a test, for example a visual inspection, after production, for example as part of automotive end of line testing.
Zusammenfassend ist festzustellen, dass mit der vorliegenden Erfindung ein Verfahren angegeben wird, mit welchem einzelne Algorithmen eines Ensemble-Algorithmus des maschinellen Lernens jeweils derart wenigstens einem Rechenknoten eines Rechensystems zugeordnet werden, dass die Ressourcen des Rechensystems effizient ausgenutzt werden können.In summary, it can be stated that the present invention provides a method with which individual algorithms of an ensemble algorithm of machine learning are each assigned to at least one computing node of a computing system in such a way that the resources of the computing system can be used efficiently.
Die beschriebenen Ausgestaltungen und Weiterbildungen lassen sich beliebig miteinander kombinieren.The configurations and further developments described can be combined with one another as desired.
Weitere mögliche Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmalen der Erfindung.Further possible refinements, further developments and implementations of the invention also include combinations of features of the invention described previously or below with regard to the exemplary embodiments that are not explicitly mentioned.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung.The accompanying drawings are intended to provide further understanding of embodiments of the invention. They illustrate embodiments and, in connection with the description, serve to explain principles and concepts of the invention.
Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die dargestellten Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.Other embodiments and many of the advantages mentioned arise with regard to the drawings. The illustrated elements of the drawings are not necessarily shown to scale to one another.
Es zeigen:
-
1 . ein Flussdiagramm eines Verfahrens zum Überprüfen eines produzierten Bauteils gemäß Ausführungsformen der Erfindung; und -
2 ein schematisches Blockschaltbild eines Systems zum Überprüfen eines produzierten Bauteils gemäß Ausführungsformen der Erfindung.
-
1 . a flowchart of a method for checking a produced component according to embodiments of the invention; and -
2 a schematic block diagram of a system for checking a produced component according to embodiments of the invention.
In den Figuren der Zeichnungen bezeichnen gleiche Bezugszeichen gleiche oder funktionsgleiche Elemente, Bauteile oder Komponenten, soweit nichts Gegenteiliges angegeben ist.In the figures of the drawings, the same reference numerals designate the same or functionally identical elements, parts or components, unless otherwise stated.
Im Bereich der Informationstechnologie können einzelne Aufforderungen beziehungsweise Requests erfordern, dass mehrere Tasks beziehungsweise Prozesse ausgeführt beziehungsweise abgearbeitet werden, um auf die entsprechende Aufforderung zu reagieren. Zudem werden im Bereich des maschinellen Lernens häufig Ensemble-Algorithmen des maschinellen Lernens verwendet, um die Präzision beziehungsweise Genauigkeit der erzeugten Ausgabedaten zu erhöhen. Ein Ensemble-Algorithmus des maschinellen Lernens basiert dabei auf einem Ensemble von Algorithmen des maschinellen Lernens beziehungsweise einem Ausführen mehrere Algorithmen des maschinellen Lernens, wobei anschließend basierend auf den Ergebnissen beziehungsweise Ausgabedaten der einzelnen Algorithmen des maschinellen Lernens ein Gesamtergebnis ermittelt wird.In the area of information technology, individual requests or requests may require that several tasks or processes be executed or processed in order to respond to the corresponding request. In addition, in the field of machine learning, machine learning ensemble algorithms are often used to increase the precision or accuracy of the output data generated. An ensemble machine learning algorithm is based on an ensemble of machine learning algorithms or on executing several machine learning algorithms, with an overall result then being determined based on the results or output data of the individual machine learning algorithms.
Angewendet werden derartige Ensemble-Algorithmen des maschinellen Lernens beispielsweise im Bereich der End of Line Inspection, das heißt der finalen Sichtprüfung von gefertigten beziehungsweise produzierten Produkten beziehungsweise Bauteilen. Beispielsweise müssen bei der Waferfertigung mehrere Waferschichten basierend auf mehreren Algorithmen des maschinellen Lernens klassifiziert werden, wobei diese Klassifizierung für gewöhnlich innerhalb weniger Minuten und mit begrenzten zur Verfügung stehenden Computerressourcen erfolgen muss.Such machine learning ensemble algorithms are used, for example, in the area of end-of-line inspection, i.e. the final visual inspection of manufactured or produced products or components. For example, in wafer manufacturing, multiple layers of wafers must be classified based on multiple machine learning algorithms, and this classification must usually be accomplished within a few minutes and with limited computing resources available.
Um Latenzen beziehungsweise Bearbeitungszeiten zu verkürzen, werden die Tasks beziehungsweise Algorithmen des maschinellen Lernens dabei auf mehreren Rechner- beziehungsweise Rechenknoten eines Rechensystems, welche über ein Netzwerk kommunikativ miteinander verbunden sind, ausgeführt. Als nachteilig erweist sich dabei jedoch, dass die Zuordnung der einzelnen Tasks beziehungsweise Algorithmen des maschinellen Lernens zu den Rechenknoten häufig statisch ist, was dazu führen kann, dass die Ressourcen des Rechensystems, beispielsweise Speicher- und/oder Prozessorkapazitäten, nicht optimal ausgenutzt werden.In order to shorten latencies or processing times, the tasks or algorithms of machine learning are carried out on several computer or computing nodes of a computing system, which are communicatively connected to one another via a network. However, the disadvantage is that the assignment of the individual tasks or algorithms of machine learning to the computing nodes is often static, which can lead to the resources of the computing system, for example memory and/or processor capacities, not being optimally utilized.
Somit kann neben der aktuellen Auslastung der Rechenknoten und den Ressourcenanforderungen der einzelnen Algorithmen des maschinellen Lernens bei der Zuordnung von Algorithmen des maschinellen Lernens zu den Rechenknoten auch berücksichtigt werden, ob ein Algorithmus des maschinellen Lernens bereits auf einem der Rechenknoten ausgeführt wird beziehungsweise wurde, das heißt ob bereits eine Version des entsprechenden Algorithmus des maschinellen Lernens in einem Cache oder einem Speicher des entsprechenden Rechenknotens hinterlegt ist. Dass diese Informationen berücksichtigt werden, hat dabei den Vorteil, dass die einzelnen Algorithmen des maschinellen Lernens derart auf die Rechenknoten verteilt werden können, dass die Algorithmen des maschinellen Lernens nicht erneut auf die Rechenknoten heruntergeladen werden müssen und somit auch die zur Ausführung des Ensemble-Algorithmus des maschinellen Lernens insgesamt benötigte Zeit reduziert werden kann, zumal dabei Latenzen vermieden werden können. Zudem kann auch der Verkehr beziehungsweise das Datenaufkommen innerhalb des Netzwerkes optimiert werden.In addition to the current utilization of the computing nodes and the resource requirements of the individual machine learning algorithms, when assigning machine learning algorithms to the computing nodes, it can also be taken into account whether a machine learning algorithm is or has already been executed on one of the computing nodes, that is whether a version of the corresponding machine learning algorithm is already stored in a cache or memory of the corresponding computing node. The fact that this information is taken into account has the advantage that the individual machine learning algorithms can be distributed among the computing nodes in such a way that the machine learning algorithms are not distributed to the computing nodes again must be loaded and thus the overall time required to execute the machine learning ensemble algorithm can be reduced, especially since latencies can be avoided. In addition, the traffic and data volume within the network can also be optimized.
Insgesamt zeigt
Gemäß dem dargestellten Verfahren 1 kann dabei, falls einer der Algorithmen des maschinellen Lernens bereits auf einen der Rechenknoten heruntergeladen wurde, der Algorithmus des maschinellen Lernens dem entsprechenden Rechenknoten zugeordnet werden. Falls dieser Rechenknoten dabei aktuell keine beziehungsweise nicht genügend freie Ressourcen zur Ausführung des Algorithmus des maschinellen Lernens aufweist, kann ein Request zur Ausführung des Algorithmus des maschinellen Lernens ferner beispielsweise so lange in eine Warteschlange des entsprechenden Rechenknotens gestellt werden, bis dieser wieder ausreichend freie Ressourcen aufweist.According to the method 1 shown, if one of the machine learning algorithms has already been downloaded to one of the computing nodes, the machine learning algorithm can be assigned to the corresponding computing node. If this computing node currently has no or not enough free resources to execute the machine learning algorithm, a request to execute the machine learning algorithm can, for example, be placed in a queue of the corresponding computing node until it has sufficient free resources again .
Falls der Algorithmus des maschinellen Lernens hingegen noch nicht auf einen der Rechenknoten heruntergeladen wurde, kann basierend auf der jeweiligen aktuellen Auslastung der Rechenknoten und den Ressourcenanforderungen des Algorithmus des maschinellen Lernens entschieden werden, welchem der wenigstens zwei Rechenknoten der Algorithmus des maschinellen Lernens zur Ausführung zugeordnet wird. Falls dieser Rechenknoten dabei wiederum aktuell keine beziehungsweise nicht genügend freie Ressourcen zur Ausführung des Algorithmus des maschinellen Lernens aufweist, kann ein Request zur Ausführung des Algorithmus des maschinellen Lernens ferner wiederum beispielsweise so lange in eine Warteschlange des entsprechenden Rechenknotens gestellt werden, bis dieser wieder ausreichend freie Ressourcen aufweist.However, if the machine learning algorithm has not yet been downloaded to one of the computing nodes, a decision can be made based on the respective current utilization of the computing nodes and the resource requirements of the machine learning algorithm as to which of the at least two computing nodes the machine learning algorithm will be assigned for execution . If this computing node currently has no or not enough free resources to execute the machine learning algorithm, a request to execute the machine learning algorithm can, for example, be placed in a queue of the corresponding computing node until it has sufficient free resources again has resources.
Die aktuelle Auslastung der einzelnen Rechenknoten kann dabei weiter beispielsweise jeweils basierend auf Remote Procedure Complete (RPC) Calls ermittelt werden.The current utilization of the individual computing nodes can be determined, for example, based on Remote Procedure Complete (RPC) calls.
Bei den einzelnen Algorithmen des maschinellen Lernens kann es sich ferner beispielsweise jeweils um künstliche neuronale Netze handeln.The individual machine learning algorithms can also be artificial neural networks, for example.
Insbesondere kann dabei ein Zustellungsplan erstellt werden, welcher Informationen darüber enthält, wann welcher Algorithmus des maschinellen Lernens auf welchem Rechenknoten ausgeführt werden soll, das heißt wann welcher Request an welchen Rechenknoten gesendet werden soll und welche Algorithmen des maschinellen Lernens auf welchem Rechenknoten angewendet werden sollen.In particular, a delivery plan can be created which contains information about when which machine learning algorithm should be executed on which computing node, that is, when which request should be sent to which computing node and which machine learning algorithms should be applied on which computing node.
Der Zuordnungsplan kann dabei ferner beispielsweise in einer Zuordnungsdatenbank hinterlegt werden.The assignment plan can also be stored in an assignment database, for example.
Das dargestellte Verfahren zum Überprüfen eines produzierten Bauteils 1 weist zudem einen Schritt 5 eines Bereitstellen des Ensemble-Algorithmus des maschinellen Lernens zum Überprüfen des produzierten Bauteils und einen Schritt 6 eines jeweiligen Ausführens der einzelnen Algorithmen des maschinellen Lernens auf einem der wenigstens zwei Rechenknoten basierend auf einer Schritt 3 erzeugten jeweiligen Zuordnung der Algorithmen des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten beziehungsweise einem in Schritt 4 hinterlegten Zuordnungsplan auf.The illustrated method for checking a produced component 1 also has a step 5 of providing the machine learning ensemble algorithm for checking the produced component and a
Gemäß den Ausführungsformen der
So können beispielsweise im Rahmen der Waferfertigung für jeden produzierten Wafer jeweils eine Vielzahl von Algorithmen des maschinellen Lernens beispielsweise basierend auf historischen Daten und/oder Deep-Learning Techniken trainiert worden sein. Da jedoch immer nur ein Teil der Vielzahl an insgesamt trainierten Algorithmen des maschinellen Lernens ausgeführt wird, ist es dabei wirtschaftlich nicht sinnvoll, für jeden Algorithmus des maschinellen Lernens einen eigenen Rechenknoten vorzusehen. Ferner können die trainierten Algorithmen des maschinellen Lernens dabei hinterlegt beziehungsweise zur zukünftigen Verwendung abgespeichert werden, wobei beispielsweise basierend auf in der empfangenen Aufforderung enthaltenen Metadaten die benötigten Algorithmen des maschinellen Lernens aus den hinterlegten Algorithmen des maschinellen Lernens ausgewählt werden können.For example, as part of wafer production, a large number of machine learning algorithms may have been trained for each wafer produced, for example based on historical data and/or deep learning techniques. However, since only a portion of the large number of trained machine learning algorithms is ever executed, it does not make economic sense to provide a separate computing node for each machine learning algorithm. Furthermore, the trained machine learning algorithms can be deposited or saved for future use, whereby, for example, the required machine learning algorithms can be selected from the stored machine learning algorithms based on metadata contained in the received request.
Die Aufforderung kann dabei Daten über die Fertigung des Wafers beispielsweise eine Wafermap und/oder eine Verteilung von während der Fertigung gewonnenen Messdaten aufweisen. Bei den in der Aufforderung enthaltenen Metadaten kann es sich ferner um zusätzliche Informationen über diese Daten, beispielsweise darüber, was diese Daten kennzeichnen oder von wem sie stammen, sowie um zusätzliche während der Fertigung gesammelte Parameter handeln.The request can contain data about the production of the wafer, for example a wafer map and/or a distribution of measurement data obtained during production. The metadata included in the request may also include additional information about that data, such as what that data identifies or who it comes from, as well as additional parameters collected during manufacturing.
Die trainierten Algorithmen des maschinellen Lernens können ferner wiederum in einer Zuordnungsdatenbank, beispielsweise in Form einer entsprechenden Lookup Tabelle hinterlegt werden.The trained machine learning algorithms can also be stored in an assignment database, for example in the form of a corresponding lookup table.
Gemäß den Ausführungsformen der
Wie
Hierzu kann die Aufforderung einen Zeitstempel und Daten über eine maximal zur Bearbeitung der Aufforderung zur Verfügung stehende Zeit aufweisen. Alternativ können die maximal zur Bearbeitung einzelner Aufforderungen jeweils zur Verfügung stehenden Zeiten wiederum in der Zuordnungsdatenbank hinterlegt sein, wobei einer Aufforderung nach Empfang einer neuen Aufforderung die entsprechende maximal zur Verfügung stehende Zeit wiederum basierend auf in der Aufforderung enthaltenen Metadaten zugeordnet werden kann. Dabei kann beispielsweise basierend auf während vergangener Ausführung der entsprechenden Algorithmen des maschinellen Lernens gesammelter Daten über jeweils zur Ausführung der Algorithmen des maschinellen Lernens benötigten Zeiten entscheiden werden, ob das produzierte Bauteil basierend auf den jeweiligen Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten innerhalb einer hierfür vorgesehenen Zeit überprüft werden kann.For this purpose, the request can have a time stamp and data about the maximum time available to process the request. Alternatively, the maximum times available for processing individual requests can in turn be stored in the allocation database, whereby the corresponding maximum available time can be assigned to a request after receiving a new request based on metadata contained in the request. For example, based on data collected during past execution of the corresponding machine learning algorithms about the times required to execute the machine learning algorithms, a decision can be made as to whether the component produced is based on the respective assignments of the individual machine learning algorithms of the ensemble algorithm Machine learning at one of the at least two computing nodes can be checked within a designated time.
Wird in Schritt 10 ferner festgestellt, dass das produzierte Bauteil basierend auf den jeweiligen Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten nicht innerhalb der hierfür vorgesehenen Zeit überprüft werden kann, so kann der entsprechende, in Schritt 4 erzeugte Zuordnungsplan verworfen und eine entsprechende Mitteilung an den Absender der entsprechenden Aufforderung gesendet werden.If it is also determined in
Wird in Schritt 10 hingegen festgestellt, dass das produzierte Bauteil basierend auf den jeweiligen Zuordnungen der einzelnen Algorithmen des maschinellen Lernens des Ensemble-Algorithmus des maschinellen Lernens zu einem der wenigstens zwei Rechenknoten innerhalb der hierfür vorgesehenen Zeit überprüft werden kann, so fährt das Verfahren 1 mit Schritt 6, das heißt der entsprechenden Überprüfung des produzierten Bauteils fort.If, however, it is determined in
Zudem kann während der Bearbeitung der entsprechenden Aufforderung auch stetig überprüft werden, ob die hierfür maximal zur Verfügung stehende Zeit abgelaufen ist, wobei, sobald die hierzu zur Verfügung stehende Zeit abgelaufen ist, der entsprechende Zuordnungsplan verworfen und eine entsprechende Mitteilung an den Absender der entsprechenden Aufforderung gesendet werden kann.In addition, while the corresponding request is being processed, it can also be continuously checked whether the maximum time available for this has expired. As soon as the time available for this has expired, the corresponding allocation plan is discarded and a corresponding message is sent to the sender of the corresponding request can be sent.
Gemäß den Ausführungsformen der
Dabei können anschließend beispielsweise einzelne Halbleiterchips basierend auf einem entsprechenden Überprüfungsergebnis verworfen werden.For example, individual semiconductor chips can then be rejected based on a corresponding check result.
Wie
Gemäß den Ausführungsformen der
Die Bereitstellungseinheit kann dabei beispielsweise basierend auf in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden, wobei der Code beispielsweise ausgebildet sein kann, die aktuelle Auslastung der einzelnen Rechenknoten jeweils basierend auf RPC Calls zu ermitteln. Die Zuordnungseinheit kann ferner beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.The provision unit can be implemented, for example, based on code stored in a memory and executable by a processor, whereby the code can be designed, for example, to determine the current utilization of the individual computing nodes based on RPC calls. The allocation unit can also be implemented, for example, based on code stored in a memory and executable by a processor.
Wie
Bei dem Speicher 25 kann es sich dabei beispielsweise um einen flüchtigen Speicher handeln.The
Gemäß den Ausführungsformen der
Die Überprüfungseinheit kann dabei wiederum beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.The checking unit can in turn be implemented, for example, based on code stored in a memory and executable by a processor.
Gemäß den Ausführungsformen der
Bei der Empfangseinheit kann es sich dabei insbesondere um einen Empfänger beziehungsweise Receiver, welcher ausgebildet ist, entsprechende Daten von einem Absender einer Aufforderung zu empfangen, handeln. Die Auswahleinheit kann ferner wiederum beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.The receiving unit can in particular be a receiver which is designed to receive corresponding data from a sender of a request. The selection unit can also be implemented, for example, based on code stored in a memory and executable by a processor.
Zu erkennen ist zudem, dass das Steuergerät 22 weiter auch eine Vorverarbeitungseinheit 30, welche ausgebildet ist, die empfangene Aufforderung vorzuverarbeiten, aufweist.It can also be seen that the
Die Vorverarbeitungseinheit kann dabei wiederum beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.The preprocessing unit can in turn be implemented, for example, based on code stored in a memory and executable by a processor.
Gemäß den Ausführungsformen der
Die Überprüfungseinheit kann dabei wiederum beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.The checking unit can in turn be implemented, for example, based on code stored in a memory and executable by a processor.
Bei dem produzierten Bauteil handelt es sich ferner wiederum um einen mit Halbleiterchips bestückter Wafer.The component produced is also a wafer equipped with semiconductor chips.
Das System 20 ist dabei insbesondere ausgebildet, ein obenstehend beschriebenes Verfahren zum Überprüfen eines produzierten Bauteils auszuführen.The
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 2019/0266015 A1 [0005]US 2019/0266015 A1 [0005]
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022205835.6A DE102022205835A1 (en) | 2022-06-08 | 2022-06-08 | Method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022205835.6A DE102022205835A1 (en) | 2022-06-08 | 2022-06-08 | Method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022205835A1 true DE102022205835A1 (en) | 2023-12-14 |
Family
ID=88873988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022205835.6A Pending DE102022205835A1 (en) | 2022-06-08 | 2022-06-08 | Method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102022205835A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0762135A2 (en) | 1995-09-05 | 1997-03-12 | Sun Electric Uk Ltd. | Testing automotive electronic control units and batteries and related equipment |
US20190266015A1 (en) | 2018-02-27 | 2019-08-29 | Microsoft Technology Licensing, Llc | Deep neural network workload scheduling |
US20190303717A1 (en) | 2018-03-28 | 2019-10-03 | Kla-Tencor Corporation | Training a neural network for defect detection in low resolution images |
US20210109796A1 (en) | 2019-10-10 | 2021-04-15 | Channel One Holdings Inc. | Methods and systems for time-bounding execution of computing workflows |
US20210382754A1 (en) | 2021-06-12 | 2021-12-09 | Intel Corporation | Serverless computing architecture for artificial intelligence workloads on edge for dynamic reconfiguration of workloads and enhanced resource utilization |
US20220035684A1 (en) | 2020-08-03 | 2022-02-03 | Nvidia Corporation | Dynamic load balancing of operations for real-time deep learning analytics |
-
2022
- 2022-06-08 DE DE102022205835.6A patent/DE102022205835A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0762135A2 (en) | 1995-09-05 | 1997-03-12 | Sun Electric Uk Ltd. | Testing automotive electronic control units and batteries and related equipment |
US20190266015A1 (en) | 2018-02-27 | 2019-08-29 | Microsoft Technology Licensing, Llc | Deep neural network workload scheduling |
US20190303717A1 (en) | 2018-03-28 | 2019-10-03 | Kla-Tencor Corporation | Training a neural network for defect detection in low resolution images |
US20210109796A1 (en) | 2019-10-10 | 2021-04-15 | Channel One Holdings Inc. | Methods and systems for time-bounding execution of computing workflows |
US20220035684A1 (en) | 2020-08-03 | 2022-02-03 | Nvidia Corporation | Dynamic load balancing of operations for real-time deep learning analytics |
US20210382754A1 (en) | 2021-06-12 | 2021-12-09 | Intel Corporation | Serverless computing architecture for artificial intelligence workloads on edge for dynamic reconfiguration of workloads and enhanced resource utilization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60219674T2 (en) | A distributed speech recognition system and method of operating the same | |
DE602004011890T2 (en) | Method for redistributing objects to arithmetic units | |
DE19535084A1 (en) | Dynamic optimisation of business processes managed by computer system | |
DE112012005030T5 (en) | Dynamically configurable placement engine | |
EP0346801A2 (en) | Method and arrangement for the execution of a programme in a heterogeneous multiprocessor system | |
DE112017005651T5 (en) | Device for classifying data | |
CN111143143B (en) | Performance test method and device | |
CN110347602B (en) | Method and device for executing multitasking script, electronic equipment and readable storage medium | |
EP1711892B1 (en) | Method for determining a reassignment scenario of software modules in case of a computer failure in a server farm | |
DE112021003908T5 (en) | FEDERAL MACHINE LEARNING BY USING LOCATION-BASED HASHING | |
DE112021005422T5 (en) | LEARNING-BASED WORKLOAD RESOURCE OPTIMIZATION FOR DATABASE MANAGEMENT SYSTEMS | |
EP3767403A1 (en) | Machine learning based shape and surface measurement for monitoring production | |
DE102020119205A1 (en) | STORAGE DEVICE, STORAGE SYSTEM AND OPERATING PROCEDURES THEREFORE | |
DE102021127324A1 (en) | PLANNING JOBS ON GRAPHIC PROCESSING UNITS | |
DE102006046717A1 (en) | Dynamically migrating channels | |
DE102022205835A1 (en) | Method for assigning at least one machine learning algorithm of an ensemble machine learning algorithm to one of at least two computing nodes for execution | |
DE112021000842T5 (en) | Machine learning device, computing device, control system and machine learning method | |
WO2016169828A1 (en) | Resource optimizer for software ecosystems | |
EP3705993B1 (en) | System and method for locating and identifying computing nodes in a network | |
DE10230878A1 (en) | Automatic computer processing method to process studies from medical tomography imaging examination systems allocates a priority code to each study | |
DE102018123563B4 (en) | Method for inter-core communication in a multi-core processor | |
DE102021204550A1 (en) | Method for generating at least one data set for training a machine learning algorithm | |
AT516108A2 (en) | Production system and the corresponding method | |
DE112020005639B4 (en) | ASSIGNMENT APPARATUS, LEARNING APPARATUS, DERIVATION APPARATUS, ASSIGNMENT METHOD AND ASSIGNMENT PROGRAM | |
WO2014005938A2 (en) | Determination of the suitability of a resource |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0067101200 Ipc: G06F0009500000 |
|
R163 | Identified publications notified |