Multi-agent intelligent network, method of training multi-agent intelligent network and node in multi-agent intelligent network
The multi-agent intelligent network addresses bandwidth and privacy constraints by enabling distributed training and learning across nodes with a scheduler-managed architecture, ensuring efficient and accurate information exchange and model adjustments.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-10-18
- Publication Date
- 2026-04-23
AI Technical Summary
Conventional communication systems face challenges in training distributed models with linear attention due to limitations in communication bandwidth and privacy constraints, as they require all relevant information to be transmitted to a central server, leading to inefficiencies and infeasible information exchange among distributed agents.
A multi-agent intelligent network architecture with a scheduler and multiple layers of nodes that process and share information in a distributed manner, allowing nodes to independently process input, share processed tokens, and adjust models based on local computations, with a scheduler managing communication and aggregating updates to ensure balanced learning.
Enables efficient, scalable, and flexible information handling across distributed agents with reduced communication overhead, ensuring seamless information flow and improved learning accuracy by allowing nodes to adjust models based on both input and output errors.
Smart Images

Figure EP2024079451_23042026_PF_FP_ABST
Abstract
Description
[0001] MULTI-AGENT INTELLIGENT NETWORK, METHOD OF TRAINING MULTI-AGENT INTELLIGENT NETWORK AND NODE IN MULTI-AGENT INTELLIGENT NETWORK
[0002] TECHNICAL FIELD
[0003] The present disclosure relates generally to the field of wireless communication network and, more specifically, to a multi-agent intelligent network, a method for training the multi-agent intelligent network and a node in the multi-agent intelligent network, such as by training a distributed neural network model with linear attention.
[0004] BACKGROUND
[0005] In rapidly advancing domain of communication systems, upcoming future communication systems are anticipated to rely heavily on the cooperation of distributed agents that are used to combine the processing compatibility of each of the intelligent agents and produce results. Moreover, each of the distributed agents is used to jointly process multimodal information (e.g., images, videos or sensing information collected by each of the distributed agents) to adapt to changing environments, solve various complex tasks, and share obtained information with other distributed agents, such as by distributing all relevant information (i.e., tokens) across the distributed agents.
[0006] Conventional communication systems, such as conventional self-attention mechanisms cannot be computed in a distributed manner and require all the relevant information (i.e., the tokens) to be transmitted to a central server for joint computation. On the other hand, the transmission of the relevant information from each of the distributed agents to the central server is not feasible due to limitations of communication bandwidth and privacy constraints. Moreover, certain attempts have been made to overcome the communication bandwidth and privacy constraints, such as by using the self-attention of a transformer, ring attention, retentive networks, message passing neural networks, and the like. However, such attempts fail due to many reasons, such as unavailability of the relevant information in a single place, complex computational cost, restrictive information flow, and the like. Therefore, there exists a technical problem of how to train distributed models with linear attention in order to allow the exchange of information between the distributed agents.
[0007] Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned drawbacks associated with the conventional multi-agent intelligent networks, conventional methods for training the multi-agent intelligent network and the conventional nodes in the multi-agent intelligent network.
[0008] SUMMARY
[0009] The present disclosure provides a multi-agent intelligent network, a method for training the multi-agent intelligent network and the node in the multi-agent intelligent network. The present disclosure provides a solution to the existing problem of how to train the distributed model with linear attention in order to allow the exchange of information between the distributed agents. An objective of the present disclosure is to provide a solution that overcomes at least partially the problems encountered in the prior art and provides the improved multi-agent intelligent network, improved method for training the multi-agent intelligent network and the node in the multi-agent intelligent network.
[0010] One or more objectives of the present disclosure are achieved by the solutions provided in the enclosed independent claims. Advantageous implementations of the present disclosure are further defined in the dependent claims.
[0011] In one aspect, the present disclosure provides a method of training a multi-agent intelligent network providing distributed attention. The multi-agent intelligent network comprises a scheduler and K layers of nodes, each layer comprising a plurality of nodes. There is a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes. Each node is arranged to process input information through a model to provide output information. The nodes of the first layer are arranged to receive input tokens as input information, and the nodes of one or more intermediate layers are arranged to receive input information from one or more nodes of a previous layer and send output information to one or more nodes of a subsequent layer, and the nodes of the final layer are arranged to provide output information as output labels. Furthermore, the method comprises, for each layer, process the input information in each node in the current layer, share processed information with nodes of the same current layer, share processed tokens as input information to the zero or more nodes of the subsequent layer, whereby the nodes of the final layer provides processed output labels, and wherein the method further comprises determining a difference between the training output labels and the processed output labels, and then, for each layer starting with the final layer, backpropagate the difference through the model of each node in the current layer thereby determining expected input information, determine an error in input information, and share the error in input information with the nodes of the current layer, and then share the error in input information with the one or more nodes of the previous layer whereby the nodes of the previous layer will use the error in input information as the difference. Moreover, the method further comprises each node determining a local model update, transmitting the local model update to the scheduler, the scheduler determining an aggregate model update for each layer, each node receiving the aggregate model update for its layer and adapting its model based on the aggregate model update.
[0012] Advantageously, the method ensures a seamless flow of information through the multi-agent intelligent network by utilizing the scheduler to manage communication between nodes. The architecture of the multi-agent intelligent network includes multiple layers of the node, each performing specific functions. By distributing tasks across the multiple layers, the multi-agent intelligent network is configured to handle increasingly complex information sets and tasks. Moreover, the method allows the nodes to selectively share processed tokens with subsequent layers, introducing flexibility in the multi-agent intelligent network. Each node in the multi-agent intelligent network is configured to process the input information in parallel, contributing to faster information handling and reducing the time required for large-scale tasks. Additionally, during backpropagation, errors are shared across the nodes within the same layer and across previous layers, ensuring that each node can adjust their internal model based on both output and input errors. The multi-agent intelligent network further enables nodes to calculate the local model updates based on input and output differences, sharing the local model updated with the scheduler for aggregation. The aggregated updates are averaged to prevent extreme adjustments and ensure balance. Moreover, the scheduler is configured to control the distribution of training input tokens to the first layer and training output labels to the final layer, thereby ensuring the proper training flow, allowing the multi-agent intelligent network to learn from the predictions by comparing the predicted or estimated output to the expected outputs and adjusting accordingly.
[0013] In another aspect, the present disclosure provides a multi-agent intelligent network providing distributed attention. The multiagent intelligent network comprises a scheduler and K layers of nodes, each layer comprising a plurality of nodes, wherein there is a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes. Each node is arranged to process input information through a model to provide output information. The nodes of the first layer are arranged to receive input tokens as input information, the nodes of one or more intermediate layers are arranged to receive input information from one or more nodes of a previous layer and send output information to one or more nodes of a subsequent layer, and the nodes of the final layer are arranged to provide output information as output labels, wherein each node comprises a controller configured to during training for each layer: process the input information in each node in the current layer, share processed information with nodes of the same current layer, share processed tokens as input information to the zero or more nodes of the subsequent layer, whereby the nodes of the final layer provides processed output labels. The controller of each node is then further configured to determine a difference between the training output labels and the processed output labels, and then, for each layer starting with the final layer, backpropagate the difference through the model of each node in the current layer thereby determining an expected input information, determine an error in input information, and share the error in input information with the nodes of the current layer, and then share the error in input information with the one or more nodes of the previous layer whereby the nodes of the previous layer will use the error in input information as the difference, and wherein the controller of each node is then further configured to determine a local model update, transmit the local model update to the scheduler, and wherein a controller of the scheduler is configured to determine an aggregate model update for each layer, and wherein the controller of each node is then further configured to receive the aggregate model update for its layer and adapting its model based on the aggregate model update.
[0014] The multi-agent intelligent network achieves all the advantages and technical effects of the method of the present disclosure.
[0015] In yet another aspect, the present disclosure provides a method of training a node in a multi-agent intelligent network providing distributed attention. The multi-agent intelligent network comprises a scheduler and K layers of nodes, each layer comprising a plurality of nodes, wherein there is a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes. The node is arranged to process input information through a model to provide output information. The node, when in the first layer, is arranged to receive input tokens as input information, the node, when in one or more intermediate layers, is arranged to receive input information from one or more nodes of a previous layer and send output information to one or more nodes of a subsequent layer, and the node, when in the final layer is arranged to provide output information as output labels, wherein the method comprises the node processing the input information, sharing processed information with nodes of the same current layer, sharing processed tokens as input information to the zero or more nodes of the subsequent layer, whereby the node, when in the final layer provide processed output labels. The method further comprises the node determining a difference between the training output labels and the processed output labels and then backpropagating the difference through the model of the node, thereby determining expected input information, determining an error in input information, and sharing the error in input information with the nodes of the current layer, and then share the error in input information with the one or more nodes of the previous layer whereby the nodes of the previous layer will use the error in input information as the difference, and wherein the method further comprises the node determining a local model update transmitting the local model update to the scheduler, the node receiving the aggregate model from a scheduler update for its layer and adapting its model based on the aggregate model update.
[0016] Advantageously, the method allows the multi-agent intelligent network to distribute training and learning processes across nodes without centralized coordination. Each node processes input information independently, shares insights, and adjusts its model based on local computations, making the network scalable and efficient. The architecture of the multi-agent intelligent network includes multiple layers of node that ensures a progressive refinement of data, ensuring that complex datasets are handled effectively. The input tokens are processed in parallel across the nodes, reducing overall processing time. Moreover, the method also introduces flexibility by allowing selective information sharing, including memory states, token counters, and node identifiers, within and between layers, ensuring that the network stays synchronized and operates collaboratively. During backpropagation, errors are shared across nodes and layers, allowing each node to fine-tune its internal model based on both output and input errors, improving learning accuracy. The scheduler plays a key role by aggregating local model updates, averaging them to prevent extreme changes, and distributing them across the network for balanced learning. Additionally, the scheduler coordinates training by delivering input tokens to the first layer and output labels to the final layer, enabling the network to refine its predictions and adjust accordingly. Overall, the method enhances the multi-agent intelligent network by enabling distributed, flexible, and efficient learning, improving its performance in handling complex tasks.
[0017] It is to be appreciated that all the aforementioned implementation forms can be combined.
[0018] It has to be noted that all devices, elements, circuitry, units, and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application, as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity that performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements or any kind of combination thereof. It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims.
[0019] Additional aspects, advantages, features, and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative implementations construed in conjunction with the appended claims that follow.
[0020] BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The summary above, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale. Wherever possible, like elements have been indicated by identical numbers.
[0022] Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:
[0023] FIG. 1 is a block diagram that illustrates a multi-agent intelligent network providing distributed attention, in accordance with an embodiment of the present disclosure;
[0024] FIG. 2 is a flowchart that illustrates a method for training the multi-agent intelligent network, in accordance with an embodiment of the present disclosure;
[0025] FIG. 3 is a flowchart of a method for training a node in the multi-agent intelligent network, in accordance with an embodiment of the present disclosure;
[0026] FIG. 4 is a diagram that illustrates an initialization phase of the multi-agent intelligent network, in accordance with an embodiment of the present disclosure; and
[0027] FIG. 5 is a diagram that illustrates an exemplary scenario of a vehicle monitored by a network of cameras, in accordance with an embodiment of the present disclosure.
[0028] In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.
[0029] DETAILED DESCRIPTION OF EMBODIMENTS
[0030] The following detailed description illustrates embodiments of the present disclosure and ways in which they can be implemented. Although some modes of carrying out the present disclosure have been disclosed, those skilled in the art would recognize that other embodiments for carrying out or practicing the present disclosure are also possible.
[0031] FIG. 1 is a block diagram that illustrates a multi-agent intelligent network providing distributed attention, in accordance with an embodiment of the present disclosure. With reference to FIG. 1, there is shown a multi-agent intelligent network 100 providing distributed attention. The multi-agent intelligent network 100 includes a multi-head network model 104 and a server 108. The multi-head network model 104 includes a plurality of model layers, such as a first layer 114A, a second layer 114B, kth layer 114K, n41layer 114N, and nlh+ 1 layer 114N+1. Furthermore, the multi-agent intelligent network 100 includes system layers, such as a first system layer 116A and a second system layer 116B that further includes one or more nodes, such as a first node 118A, a second node 118B, a third node 118C, and a fourth node 118D.
[0032] There is provided the multi-agent intelligent network 100 providing distributed attention. The multi-agent intelligent network 100 provides distributed attention by allowing multiple nodes to independently process and focus on different parts of the information while communicating and collaborating with each other to provide an enhanced efficiency, robustness, and information privacy while handling complex and large-scale operations in a decentralized and efficient manner with reduced communication overhead. The multi-agent intelligent network 100 includes the multi-head network model 104 that is configured to receive a model input data 102 (i.e., a sequence of input tokens), such as a query translated into tokens and provides a model output data 106, which is a sequence of output tokens translated into a response that is further utilized for computing the distributed attention. Moreover, the server 108 includes a scheduler 110, which is configured to control, schedule, or train the multi-head network model 104 based on the information (e.g., the information received at operation 112), such as information on system capabilities, number or nodes, and the like. The multi-head network model 104 is deployed to compute distributed attention within the multi-agent intelligent network 100 and includes multiple model layers, such as the first layer 114A, the second layer 114B, the kth layer 114k, the nth layer 114N, and the nth+l-layer 114N+1. Moreover, each layer of the model layers includes multiple heads and is configured to transmit the set of local inputs along with the memory states (i.e., partially processed tokens) to the other layer of the multi-head network model 104, such as at operation 120. For example, at operation 120A, the n411layer 114N is configured to receive the local input embeddings from the previous node and, further, at operation 120B, transmits the local input embeddings (or the partially processed tokens) to the nlh+ 1 -layer 114N+1. Moreover, the detailed transmission of the local input embeddings is given and explained in detail in FIG. 2.
[0033] Furthermore, the multi-agent intelligent network 100 includes the scheduler 110 and K layers of nodes. The scheduler 110 is configured to control the flow of data and tasks by instructing nodes on when and how to process information, manage local updates, and communicate with other nodes. Moreover, the scheduler 110 ensures that nodes in the K layers are synchronized, receive input at the right time, and send processed data to the appropriate nodes in subsequent layers. Each layer in the K layers consists of multiple nodes, and as data moves through each layer, the nodes of each layer apply the local models to refine the data. Additionally, the scheduler 110 ensures optimal coordination, reducing delays and preventing bottlenecks in data flow.
[0034] Furthermore, each layer of the multi-agent intelligent network 100 includes a plurality of nodes, such as the first layer 116A of nodes, one or more intermediate layers of nodes, such as the second system layer 116B, that are assigned to one or more nodes, a final layer of nodes. In other words, each of the node executes one or more model layers and one or more heads, such as a first head 124A, a second head 124B, a third head 124C, and a fourth head 124D, are assigned to the one or more nodes. Moreover, each of the nodes executes all heads of the executed model layers. For example, the first head 124A, the second head 124B, the third head 124C, and the fourth head 124D are assigned to the second node 118B. As a result, the multi-agent intelligent network 100 is configured to provide distributed attention by allowing each node within the multi-agent intelligent network 100 to determine the combined node memory state and further transmit the same to the other nodes along with the set of local memory states.
[0035] In operation, the multi-agent intelligent network 100 is configured to receive a set of local input embeddings for the node. In an example, the multi-agent intelligent network 100 is configured to receive the set of local input embeddings (e.g., Xn, XI- X3) for the first node 118A. In another example, the multi-agent intelligent network 100 is configured to receive the set of local input embeddings for the second node 118B. Similarly, the multi-agent intelligent network 100 is configured to receive the set of local input embeddings for the third node 118C and the fourth node 118D. The node (e.g., the first node 118A, the second node 118B, the third node 118C, and the fourth node 118D) is configured to receive the set of local input embeddings to initialize the information processing at the local node level. The set of local input embeddings refers to a set of tokens that represent information about the local input data processed by one or more nodes within the multi-agent intelligent network 100.. As a result, the node is configured to receive the set of local input embeddings to process and interpret the local information efficiently for further computations and decision-making processes within the multi-agent intelligent network 100.
[0036] Furthermore, the multi-agent intelligent network 100 is configured to apply positional embedding to the set of local input embeddings for the node. The positional embedding, which is applied to the set of local input embeddings for the node is configured to provide the information about the position of each input element in order to identify the sequence order to provide accurate and context-aware predictions. The multi-agent intelligent network 100 calculates positional embeddings for each position in the input sequence. In an implementation, the positional embeddings can be pre-defined (e.g., sinusoidal functions) or learned during training. Thereafter, the calculated positional embeddings are added to the corresponding local input embeddings. As a result, the positional embeddings are used to capture the order of input elements to allow the multi-agent intelligent network 100 to handle a wide range of sequence lengths and structures. Additionally, the integration of positional embeddings allows the multi-agent intelligent network 100 to handle complex patterns and relationships, providing an accurate and flexible approach to processing sequential information.
[0037] Furthermore, the multi-agent intelligent network 100 is configured to determine a set of keys, Kn, as Kn= WK Xn, WK being a learned key matrix. In an implementation, the set of local input embeddings (i.e. , token Xn) are multiplied with the set of learned key matrix (i.e., WK) in order to determine the set of keys, for example, as shown in equation (1) given below: -
[0038] The determination of the set of keys involves transforming the set of local input embeddings by using a learned key matrix to provide the set of keys that are further utilized to compute the memory states. Moreover, by using the learned key matrix, the multi-agent intelligent network 100 provides an efficient and effective representation of the information that can be used for computing the linear attention.
[0039] Furthermore, the multi-agent intelligent network 100 is configured to determine a set of values, Vn, as Vn= Wv Xn, Wv being a learned value matrix. The set of values is used to encode the information that is used to compute the combined memory states that are further utilized to compute the linear computation. In an implementation, the set of local input embeddings (i.e., token Xn) are multiplied with the set of learned value matrix (i.e., Wv) in order to determine the set of keys, for example, as shown in equation (2) given below: -
[0040] Moreover, the learned value matrix allows the encoding of the set of input embeddings into the set of learned values that are used to capture relevant information to handle varying input sizes and complexities without a significant increase in computational cost, such as by further computing the combined memory states. As a result, the determination of the set of values is used to improve the efficiency, scalability, and overall performance of the node while minimizing the communication overhead within the multi-agent intelligent network 100.
[0041] Furthermore, the multi-agent intelligent network 100 is configured to determine a set of queries, Qn, as Qn =WQ „, WQ being a learned query matrix for the node. The set of queries is used to encode the information that is used to compute the combined memory states that are further utilized to compute the linear computation. In an implementation, the set of local input embeddings (i.e., token Xn) are multiplied with the set of learned queries matrix (i.e., Wq) in order to determine the set of keys, for example, as shown in equation (3) given below: -
[0042] Qn = WQXn(3) Moreover, the learned value matrix allows the encoding of the set of input embeddings into the set of learned queries that are used to capture relevant information to handle varying input sizes and complexities without a significant increase in computational cost, such as by further computing the combined memory states. As a result, the determination of the set of queries is used to improve the efficiency, scalability, and overall performance of the node while minimizing the communication overhead within the multi-agent intelligent network 100.
[0043] Moreover, the multi-agent intelligent network 100 is characterized in that the multi-agent intelligent network 100 is further configured to determine a set of local memory states S’n, as S’n = XTn (WTKWv)Xn, for the node. In an implementation, the set of local memory states refers to input partial tokens that are associated with each node that is derived through a series of matrix multiplications involving the input token and a set of learned matrices, such as the set of values, set of keys, and the set of queries. Moreover, the local memory states are configured to encapsulate the information contained in the input tokens in a manner that is suitable for further processing within the node and for sharing the same with other nodes of the multi-agent intelligent network 100. Firstly, the set of input embeddings (or tokens) are received by the node locally. Thereafter, the set of keys, the set of values, and the set of queries are determined in order to further determine the set of local memory states for each node, such as the first node 118A, the second node 118B, the third node 118C, and the fourth node 118D of the multiagent intelligent network 100. The set of local memory states allows the node to perform linear distribution of attention in order to allow information sharing within the multi-agent intelligent network 100 locally, thereby maintaining information privacy within the multi-agent intelligent network 100. As a result, the set of local memory states is determined to provide an efficient local processing, distributed attention, information privacy, and reduced communication overhead in the multi-agent intelligent network 100.
[0044] In accordance with an embodiment, the multi-agent intelligent network 100 is further configured to determine the set of local memory states S’n, as S’n = KTnVnfor the node. Each node computes the key vector (Kn) and the value vector (Vn) from the set of input embeddings by using the learned matrices. Thereafter, the key vector is multiplied by the value vector in order to determine the local memory state. Moreover, by calculating local memory states as S'n= KTnVn, the node of the multi-agent intelligent network 100 is configured to efficiently encapsulate the information from the input tokens of each node. As a result, the multi-agent intelligent network 100 is configured to ensure effective distributed information processing with an improved overall network performance.
[0045] Furthermore, the multi-agent intelligent network 100 is configured to receive a set of node memory states (Sn) from the one or more other nodes. In an example, the multi-agent intelligent network 100 is configured to receive the set of node memory states (Sn) from the first node 118A. In another example, the multi-agent intelligent network 100 is configured to receive the set of node memory states (Sn) from the first node 118A and the second node 118B. In yet another example, the multi-agent intelligent network 100 is configured to receive the set of node memory states (Sn) from the first node 118A, the second node 118B, and the third node 118C. Moreover, by receiving the set of node memory states from the one or more nodes, the node is configured to integrate external information with the local memory state of the node in order to facilitate a distributed linear attention mechanism without sharing raw information.
[0046] Furthermore, the multi-agent intelligent network 100 is configured to determine a set of combined node memory states (Sn) as Sj = Sj-i + S’n, and So is determined as the sum SS' for the node. In other words, each node in the multi-agent intelligent network 100 determines the local memory states from the set of input embeddings by using learned matrices and transmits these memory states to one or more other nodes. Finally, the received memory states are integrated with the local memory states of the node to further determine the combined memory states that are used to compute the linear attention. The set of combined node memory states is used to facilitate distributed attention in order to ensure that each node has access to a comprehensive set of node combined memory states with an efficient and effective information integration and processing with reduced communication overhead, such as by transmitting aggregated states rather than raw information. Additionally, the determination of the set of node combined memory states is used to maintain information privacy, such as by sharing the combined node memory state with an improved overall performance of the multi-agent intelligent network 100.
[0047] In accordance with an embodiment, the multi-agent intelligent network 100 is further configured to determine the set of combined node memory states (Sn) as Sj = A(H)Sj-i + S’n, and H for the node and H is a Hadamard product and wherein A is an adaptation factor. The adaptation factor enables the adjustment of the received node memory states thereby allowing the multi-agent intelligent network 100 to scale the contributions of previous memory states based on current conditions or information characteristics dynamically. Moreover, the Hadamard product refers to an element-wise multiplication operation between two matrices or vectors of the same dimensions, where each element in the resulting matrix or vector is the product of the corresponding elements from the input matrices or vectors. As a result, the determination of the set of combined node memory states by using the Hadamard product and the adaptation factor is used to allow the multi-agent intelligent network 100 to improve the accuracy and relevance of the combined memory states in order to enhance the decision-making and information processing capabilities of the multi-agent intelligent network 100. In addition, the utilization of the Hadamard product and adaptation factor ensures an efficient and scalable information integration with reduced communication overhead and maintained information privacy.
[0048] In such an implementation, the adaptation factor A is ge1’ and the g is a decay factor, and j is a rotating factor. The decay factor attenuates the contributions of previous memory states, effectively reducing the influence over time or distance, which helps to prioritize more recent or relevant information (or the node memory states received from the one or more nodes). Moreover, the rotating factor refers to a phase shift that enables the temporal modulation in order to align or misalign with the phases of memory states, which is further used in applications involving periodic or cyclical information patterns. As a result, the adaptation factor allows the multi-agent intelligent network 100 to control the attenuation and phase shift of the combined memory states in order to prioritize the received memory states and improve the overall decision-making and processing efficiently and effectively.
[0049] In accordance with an embodiment, the multi-agent intelligent network 100 is further configured to receive a counter (CTR=dj) for each received node memory state (S’), and So is determined as the sum SAd’S' for the node, and A is an adaptation factor. The counter for each received memory state allows the multi-agent intelligent network 100 to track the relevance or freshness of the information from the one or more nodes. Moreover, each node is configured to determine the combined memory state by summing the products of the adaptation factor, the counter, and the memory states that may include parameters, such as the decay factor and the rotation, to modulate the influence of each state. In such an implementation, the adaptation factor A is ge" and the g is a decay factor, and j is a rotating factor. The decay factor reduces the contribution of older memory states, while the rotating factor represents the phase shift. As a result, the multi-agent intelligent network 100 is used to manage and prioritize the memory states, thereby enhancing the overall accuracy and relevance of the combined memory states. Additionally, such determination also reduces the risk of outdated information affecting current decisions and maintains flexibility and scalability within the multi-agent intelligent network 100.
[0050] Furthermore, the multi-agent intelligent network 100 is configured to provide at least a portion of the set of combined node memory states (Sn) to at least one next node for the node. In other words, the multi-agent intelligent network 100 is configured to determine the combined node memory state and further transmit the same to the next node within the multi-agent intelligent network 100. For example, the second node 118B is configured to receive at least the portion of the set of combined node memory states by the first node 118 A. As a result, by providing the combined memory states, the multi-agent intelligent network 100 is configured to adapt to changing environments and solve various challenges by leveraging the collective knowledge and insights of the nodes. Furthermore, the multi-agent intelligent network 100 is configured to determine an output, On, as On = QnSnfor the node. By determining the output On, as On = QnSnfor the node, the multi-agent intelligent network 100 ensures that the output of each node includes both the local information (i.e., the local memory states) and the collective knowledge (i.e., the combined memory states) of the multi-agent intelligent network 100. As a result, the accuracy and relevance of the output are enhanced, leading to an improved overall network performance.
[0051] Furthermore, the controller of each node is then further configured to determine the local model update. The controller of each node calculates the local model update by analyzing the error between the predicted output and the desired output using optimization algorithms such as gradient descent. The controller is further configured to adjusts the internal model parameters of that node to reduce the error. After determining the local model update, the node may share the update with the scheduler 110 or other nodes to contribute to the overall learning process. Furthermore, the controller of each node is then configured to transmit the local model update to the scheduler 110. The scheduler 110 is configured to receive updates from all nodes and processes the updates, typically by averaging the updates to create an aggregated model update. The aggregated model update is then redistributed back to the nodes to ensure that all models are aligned and synchronized. Furthermore, the controller of the scheduler 110 is configured to determine an aggregate model update for each layer. Determining an aggregate model update is essential for maintaining consistency and coordination within the multi-agent intelligent network 100. The controller of the scheduler 110 is configured to receive local model updates from all nodes in a layer. The controller of the scheduler is configured to processes these updates, typically by averaging or applying other mathematical operations to balance the individual contributions. Furthermore, the controller of each node is then further configured to receive the aggregate model update for its layer and adapting its model based on the aggregate model update. After the scheduler calculates the aggregate model update for a layer, the controller of each node in that layer receives the update. The controller of each nodes is then configured to apply the aggregated update to its internal model, ensuring that all nodes adjust their weights and biases consistently, thereby ensuring the synchronization across nodes in the layer, allowing them to operate on a unified model. By adapting the local model based on the aggregate update, each node benefits from the collective learning of the entire layer, leading to more accurate and refined outputs.
[0052] Advantageously, the multi-agent intelligent network 100 provides distributed attention with an efficient and reduced communication overhead. The multi-agent intelligent network 100 receives the set of input embeddings from the one or more nodes without directly sharing raw information in order to ensure that the sensitive information is not directly shared between nodes for maintaining the information privacy and information security. By sharing memory states instead of raw input information, the multi-agent intelligent network 100 is used to reduce the need for extensive information transmission, leading to minimized communication overhead and improved bandwidth utilization. The multi-agent intelligent network 100 provides a scalable and flexible accommodation of new nodes without requiring any changes to an existing network structure in order to provide seamless expansion and integration of additional nodes. In addition, each node processes information locally and in parallel, reduces the overall computation time and latency of the information and enhances the efficiency and responsiveness of the multi-agent intelligent network 100. The use of learned matrices (e.g., key, value, and query matrices) enables efficient parallel training on a server with large information sets, and once trained, the model parameters can be easily deployed across distributed nodes to ensure continuity of operations while handling complex computations with minimal disruption.
[0053] FIG. 2 is a flowchart that illustrates a method for training the multi-agent intelligent network, in accordance with an embodiment of the present disclosure. FIG. 2 is described in conjunction with elements from FIG. 1. With reference to FIG. 2, there is shown a flowchart of method 200 that includes steps 202 to 234.
[0054] There is provided the method 200 for training the multi-agent intelligent network 100 providing distributed attention. The multi-agent intelligent network 100 includes several layers of nodes, where each node processes their own local information while also attending to the information processed by other nodes within the same layer or across different layers. The method 200 involves a multi-phase process, including forward and backward passes, to ensure that the multi-agent intelligent network 100 learns and updates the model weights in a distributed manner without the need for centralized coordination.
[0055] Furthermore, the multi-agent intelligent network 100 includes the scheduler 110 and K layers of nodes, each layer comprising a plurality of nodes. The multi-agent intelligent network 100 further includes a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes. Initially, the multi-agent intelligent network 100 is configured to divide input information among the nodes in the first input layer. Furthermore, the nodes in the first layer of the multi-agent intelligent network 100 are configured to process the initial information and pass the output to nodes in the next layer. Moreover, this process is repeated in one or more intermediate layers, where nodes are configured to refine and enhance the processed input information. The final layer of nodes is configured to generate an output label or final processed result, which is further used for decision-making or model training and other machine learning applications. Thus, by integrating the scheduler 110 within the multi-agent intelligent network 100 to manage communication between nodes, the multi-agent intelligent network 100 ensures that information flows seamlessly, eliminating the need for centralized coordination.
[0056] At step 202, the method 200 includes processing input information through a model to provide output information. Each node is arranged to process input information through a model to provide output information. The node is configured to receive the input information either from the previous layer of nodes or from external sources. The input information is further processed by the model embedded in the node, which may involve operations such as feature extraction, transformation, prediction, and the like. In an implementation, the model within each node can be designed to handle specific types of information (e.g., text, images, or sensor information) or to perform specific functions (e.g., classification, regression, or decision-making). Moreover, once the input information is processed, the node is configured to generate an output information that is either passed on to the next layer of nodes or used as part of the final decision or output of the multi-agent intelligent network 100, thereby reducing the need for extra communication between nodes.
[0057] At step 204, the method 200 includes arranging nodes of the first layer to receive input tokens as input information. The nodes of the first layer are arranged to receive input tokens as input information. The nodes in the first layer are connected to information sources that provide the input tokens, such as an information set or real-time information stream. Moreover, upon receiving the tokens, each node is configured to process the received input token using their local model. Furthermore, the nodes are configured to pass the processed input information to the nodes in the subsequent intermediate layers for further processing. In an implementation, each input token is typically indexed, allowing the nodes to keep track of the information and ensure that the input information is processed in sequence or based on specific conditions set by the multi-agent intelligent network 100. By virtue of arranging the nodes in the first layer to handle input tokens, the multi-agent intelligent network 100 ensures a seamless and organized start to the information processing pipeline.
[0058] At step 206, the method 200 includes arranging nodes of one or more intermediate layers to receive the input information from one or more nodes of the previous layer and send the output information to one or more nodes of the subsequent layer. Furthermore, the nodes of one or more intermediate layers are arranged to receive input information from one or more nodes of a previous layer. The nodes in the intermediate layers are configured to receive processed information from the previous layer as input. Moreover, the input information from the previous nodes is passed through a local model within each intermediate node, where the input information undergoes further processing. After processing the input information, the nodes are configured to forward the output information to the next layer. Additionally, the information flow is structured in such a way that each intermediate node may send the output information to multiple nodes in the subsequent layer or combine input from multiple nodes in the previous layer. Thus, the arrangement of one or more intermediate layers ensures that the processed input information is integrated and refined progressively as the processed input information moves through the multi-agent intelligent network 100. At step 208, method 200 includes arranging nodes of the final layer to provide output information as output labels. The nodes in the final layer are configured to receive processed information from the last intermediate layer. Each node in the final layer applies the local model to the input information, making use of the refined features or information extracted by previous layers. Moreover, after processing, the nodes are configured to generate output information, which is formatted as output labels. In an implementation, the output labels can represent any type of result, such as categorical labels like dog, cat, car, and the like or numerical predictions like stock prices, weather forecasts, and the like. The output labels are further used for decision-making or further actions, depending on the application of the multi-agent intelligent network 100.
[0059] At step 210, method 200 includes processing input information in each node in the current layer. In an implementation, each node in the current layer is configured to receive input information from a previous layer or other nodes in the same layer. The node is further configured to process the input information through the local model, which may involve various computations such as feature extraction, transformation, or decision-making. Furthermore, the processed output is either shared with other nodes in the current layer to enhance the collective understanding of the current layer or forwarded to nodes in the subsequent layer for further refinement. Thus, the parallel processing of the node in various layers ensures that the whole input information is handled systematically and efficiently throughout the multi-agent intelligent network 100.
[0060] At step 212, the method 200 includes sharing the processed information with nodes of the same current layer. After processing the input information, each node is configured to transmit the processed input information, including memory states, token counters, or other computed values, to the neighbouring nodes within the same layer. In an implementation, the sharing of the processed input information through a predefined communication protocol facilitates the real-time exchange of information. Moreover, the nodes are configured to receive information from each other and integrate the processed input information into their own processing pipelines, allowing them to refine their models, adjust their outputs, or synchronize their actions with the rest of the layer. The continuous flow of shared information ensures that every node in the layer has a complete understanding of the processed information.
[0061] At 214, the method 200 includes sharing the processed tokens as input information to zero or more nodes of the subsequent layers. Furthermore, the method 200 includes for each layer, sharing processed tokens as input information to the zero or more nodes of the subsequent layer. The sharing of the processed tokens is carried out according to a communication protocol that specifies which nodes in the next layer should receive the tokens. The nodes in the subsequent layer treat the processed tokens as new input information, further analyzing or transforming the information. The process of sharing the processed tokens continues throughout the multi-agent intelligent network 100, with each layer contributing to the final output by refining the received information. In an implementation, no tokens are sent from a node to the next layer if the output of that node is not required by the subsequent layer. The selective sharing of information is configured to add flexibility to the operations of the multi-agent intelligent network 100.
[0062] At step 216, the method 200 includes providing processed output labels of the final layer. The nodes in the final layer are configured to receive the processed information from the intermediate layers, which have already been refined through multiple stages of transformation. Moreover, by using the internal models, the node in the final layer is configured to apply a final round of processing to the received information and generate output labels. The output labels represent the final interpretation of the information, summarizing the processing of the multi-agent intelligent network 100 in a format that is ready for decisionmaking.
[0063] In accordance with an embodiment, the method 200 further includes each node determining the local model update based on the received difference and the determined error in input information. Each node is configured to process the input information and calculate the difference between the processed output and the desired output. Furthermore, by using the output difference and the input error, the node is configured to update the internal model. At step 218, the method 200 includes determining the difference between training output labels and processed output labels. After producing the processed output labels, the multi-agent intelligent network 100 is configured to compare the processed output labels with the training output labels. The training output labels represent the ground truth or desired results for the given task. In an implementation, the comparison of the processed output labels with the training output label may include but is not limited to calculating an error metric, such as the mean squared error or cross-entropy loss. The calculated error shows the difference between the processed output labels and the training output labels, thereby providing a clear indication of the performance of the multi-agent intelligent network 100.
[0064] In accordance with an embodiment, each node is arranged to share to the nodes in the same layer when processing the output information of that node, that includes an identifier of the node, a counter indicating a number of tokens processed so far at that layer, and memory states for each head of a multi-head layer of linear attention. Each node is configured to generate output information as the process tokens. Further, during processing, the node is configured to share the identifier for the node, the counter of how many tokens is processed, and the memory states for each attention head. The identifier is a unique label that ensures other nodes can identify the source of the information. The counter tracks the number of tokens processed, ensuring the nodes track the amount of information that has been handled. The memory states represent the internal context and computations of each node and are vital for tasks that require collaboration, such as attention mechanisms. The sharing of memory states helps the node to build a more comprehensive understanding of the information, as each node contributes its individual insights.
[0065] In accordance with an embodiment, at least one node is arranged to further share to the nodes in the same layer, an identifier of a sub layer. As the node processes information and shares output information with other nodes in the same layer, the output information includes a sub-layer identifier alongside other shared information, such as the identifier of that node, the counter, and the memory states. The sub-layer identifier indicates which specific part of the layer the node is operating within. In an implementation, when other nodes receive the sub-layer identifier, the nodes are configured to determine whether the information is relevant to their own processing tasks based on whether the information belongs to the same sub-layer.
[0066] In accordance with an embodiment, each node is arranged to share to one or more nodes in the subsequent layer, an identifier of the sending device, and a counter of the output information. The identifier of the sending device refers to a unique label or code that distinguishes one node from another within the multi-agent intelligent network 100. Moreover, the identifier of the sending device is shared to ensure that the information or information being shared between nodes can be traced back to the source or the sending device. The counter of the output information refers to a value or metric that keeps track of how much information or how many units of information a node has processed and sent to the next layer. Furthermore, the counter of the output information is configured to prevent errors like sending duplicate information or missing information to one or more nodes. In accordance with an embodiment, at least one node is further arranged to share an identifier of the layer. The identifier of the layer is a unique label or code that distinguishes one layer from another in the multi-agent intelligent network 100. By including the identifier of the layer, the multi-agent intelligent network 100 is configured to manage the flow of information, ensuring that information is categorized according to the source layer, preventing confusion, and aiding in structured communication.
[0067] At step 220, the method 200 includes backpropagating the difference through model of each node in the current layer. Backpropagation is a fundamental process for training the multi-agent intelligent network 100. The backpropagation includes calculating the gradient of the error with respect to the internal parameters of each node. The error is backpropagated backwards from the final layer through the multi-agent intelligent network 100. Furthermore, each node in the current layer is configured to receive the error signal. Each node in the current layer is further configured to use the error signal to adjust various parameters using optimization techniques such as gradient descent. Specifically, each node is configured to update its weight in a direction that reduces the error for the next iteration. The process continues backwards through each layer, ensuring that the multi-agent intelligent network 100 is fine-tuned. Additionally, the backpropagation ensures that the multi-agent intelligent network 100 learns in a hierarchical manner, with each layer refining its output.
[0068] In accordance with an embodiment, each node is arranged to share to the nodes in the same layer when backpropagating the difference, an identifier of the sending device, a counter of memory states, and an error in memory states. In other words, during backpropagation, each node in the multi-agent intelligent network 100 is configured to share specific information with other nodes in the same layer, which includes the identifier of the sending device, the counter of memory states and the error in memory states, that is the difference between the actual and expected memory states during backpropagation. Moreover, each node is configured to determine the error in the memory states based on the difference between the predicted memory state and the expected memory state. Each node in the multi-agent intelligent network 100 is further configured to share the error with other nodes in the same layer to ensure all nodes have the same understanding of the error that needs to be corrected. In accordance with an embodiment, each node is arranged to share to the one or more nodes in the previous layer, the identifier of the sending device, the counter of the input information, and the error in input information. The sharing of the identifier of the sending device, the counter of the input information, and the error in input information with nodes in the previous layer is crucial for maintaining effective communication and collaboration across layers. By providing the identifier of the sending device, the receiving nodes are configured to trace the source of the information, facilitating better information management.
[0069] At step 222, the method 200 includes determining the expected input information. The expected input information is typically calculated from the backpropagation process, which determines the error between the predicted output and the target output. Moreover, during the backpropagation, the multi-agent intelligent network 100 is configured to compute the ideal input to each node based on the overall difference between the training output and the processed output, leading to more accurate and reliable predictions. At step 224, the method 200 includes determining errors in input information. The error in input information is determined by comparing the actual input information received by a node with the expected input information that the node should have received for optimal performance. Furthermore, the comparison between the actual input information and the expected input information is made during the backpropagation process. In an implementation, the error is computed using an error metric, such as the difference between the actual and expected values or the gradient of the loss function. By systematically addressing input errors, the multi-agent intelligent network 100 can fine-tune its internal parameters, resulting in more precise information processing and output generation.
[0070] At step 226, the method 200 includes sharing errors in input information with nodes of the current layer and one or more nodes of the previous layer. Once the error in input information is determined, each node in the current layer is configured to share the error with other nodes within the same layer. The sharing of the error ensures that all nodes in the current layer are aware of any discrepancies and can adjust the parameters accordingly. Moreover, the error is also sent back to one or more nodes in the previous layer, thereby allowing the previous layer to understand how the output, which serves as the input to the current layer, contributes to the error. Additionally, the nodes in the previous layer are configured to adjust their own processing to reduce such errors in future iterations.
[0071] At step 228, the method 200 includes transmitting local model updates to each node. After each node processes the input information and calculates the local model update based on error backpropagation, the updated parameters are transmitted to the scheduler 110 or to other nodes in the multi-agent intelligent network 100. The transmission of the updated parameters includes collecting the local updates from all nodes, aggregating the collected updates, and averaging the updates to form an aggregate model update. By aggregating the updates, the multi-agent intelligent network 100 is configured to make collective adjustments that enhance the overall performance of the multi-agent intelligent network 100.
[0072] At step 230, the method 200 includes transmitting local model updates to the scheduler 110. Once the node processes input information and adjusts the local model based on the determined errors, the node is configured to generate a local model update. Further, the local model update is transmitted to the scheduler 110, which collects similar updates from all other nodes in the multi-agent intelligent network 100. At step 232, the method 200 includes determining aggregate model update for each layer. The scheduler 110 is configured to aggregate the local updates from various nodes, often using techniques like averaging, to create an aggregate model update. The aggregate model update is then shared back with the nodes, ensuring that all nodes in the multi-agent intelligent network 100 update the internal models based on the collective learning of the multi-agent intelligent network 100.
[0073] In accordance with an embodiment, the method 200 further includes determining the aggregate model for a layer on the average of the local model updates for the layer. In an implementation, each node in the multi-agent intelligent network 100 is configured to update its local model based on the errors encountered during processing. The updated local model is then sent to the scheduler 110. The scheduler 110 is configured to add all the local updates from different nodes and divide the total by the number of nodes in the layer to determine the average. The average is called the aggregate model for the layer. Thus, by averaging updates, the method 200 is configured to prevent any extreme changes caused by the learning of any single node, thereby ensuring the multi-agent intelligent network 100 remains resilient and balanced.
[0074] At step 234, the method 200 includes receiving the aggregate model update for its layer and adapting its model based on the aggregate model update. The scheduler 110 is configured to transmit the aggregate model update back to each node in the layer. After receiving the aggregate model update, each node is configured to adjust the internal model to reflect the aggregate update. The adaptation process helps to ensure that the individual learning efforts of all nodes are incorporated into the internal models.
[0075] In accordance with an embodiment, the method 200 further comprises the scheduler 110 providing the nodes of the first layer with training input tokens prior to the nodes processing the input information and providing the nodes of the final layer with training output labels. The scheduler 110 is configured to coordinate the training process by initially loading the input tokens into the nodes of the first layer. As the nodes in the first layer process the input token, the first layer is configured to pass the processed information to subsequent layers. Moreover, at the same time, the scheduler 110 is configured to provide the nodes in the final layer with the corresponding training output labels. The training output labels act as the expected output, which the final layer will compare to the processed output to calculate errors. By ensuring that the first layer receives the training input tokens, and the final layer receives the training output labels, the scheduler 110 ensures the overall learning process remains robust.
[0076] In accordance with an embodiment, the method 200 further comprises the scheduler 110 sending coordination information to the nodes. The coordination information for each node includes which node(s) to receive input information from and which node(s) to send output information to. In an implementation, the scheduler 110 is configured to manage the multi-agent intelligent network 100 and ensure that all nodes are properly connected in the information flow. Moreover, the scheduler 110 is configured to send the coordination information to each node in the multi-agent intelligent network 100. The coordination information includes the input source and output destination. The input source refers to the information about which other node(s), the node should receive its input information from. The output destination refers to the information about the nodes where the present node should send its processed output. In accordance with an embodiment, the method 200 further comprises the scheduler 110 sending coordination information to the nodes. The coordination information for each node includes in what order to process the received input information. The scheduler is further configured to provide a set of instructions to the node about which information to prioritize and the specific order to follow when handling the received input based on different parameters like time (e.g., handling earlier inputs before later ones), importance, or relevance to the task being performed.
[0077] In accordance with an embodiment, the method 200 includes each node receiving a set of local input embeddings (i.e., Xn, XI- X3) as the input information and applying positional embedding to the set of local input embeddings. The set of local input embeddings may include but is not limited to words, numerical information, or other forms of input. The local input embeddings are numerical vectors that represent the information in a form suitable for processing by the model. After receiving the local input embeddings, the node is configured to apply positional embeddings to the local input embeddings. The positional embeddings are additional vectors added to each input embedding, encoding the position of each input element in the sequence (e.g., first, second, third). Additionally, positional embeddings are configured to enhance the capacity of the multi-agent intelligent network 100 to generalize across different sequences, leading to better performance in real- world applications.
[0078] In accordance with an embodiment, the method 200 further includes determining a set of keys (i.e., Kn) by multiplying the set of local input embeddings with a learned key matrix (i.e., WK). Initially, the method 200 includes receiving a set of local input embeddings, which are numerical representations of the input information. The set of local input embeddings is then multiplied by a learned key matrix. The key matrix refers to a set of weights that the network learns during training, configured to transform the input embeddings into a set of keys (i.e., Kn = Xn X Wk), where Xn represents the local input embeddings, and Wk represents the learned key matrix.
[0079] In accordance with an embodiment, the method 200 further includes determining a set of values (i.e., Vn) by multiplying the set of local input embeddings with a learned value matrix (i.e., Wv). In an implementation, after receiving the set of local input embeddings, which represent the input information in numerical form. The set of local input embeddings is multiplied by the learned value matrix, which is a set of weights learned during training. The set of values generated by the multiplication of the set of local input embeddings and the learned value matrix are then used along with the keys and queries in the attention mechanism. Specifically, after attention scores are calculated based on the keys and queries, the attention scores are applied to the set of values to determine which parts of the input information will contribute most to the final output. Thus, the determination of the set of values allows the network to retain and process the core information needed for decision-making.
[0080] In accordance with an embodiment, the method 200 further includes determining a set of queries (Qn) by multiplying the set of local input embeddings with a learned query matrix (WQ). In an implementation, the set of local input embeddings, which are numerical representations of the input information (e.g., words in a sentence, parts of an image, etc.), are multiplied by the learned query matrix, which is a set of weights learned during the training process. The result of this multiplication is the set of queries (Qn) represented as (Qn= XnX WQ). The set of queries, in conjunction with keys and values, are configured to compute attention scores.
[0081] In accordance with an embodiment, the method 200 further includes the node determining a set of local memory states (S’n) based on the set of local input embeddings, a learned key matrix (WK) and a learned value matrix (Wv). Initially, the method 200 includes receiving a set of local input embeddings, which are numerical representations of the input information. Further, the node is configured to apply the key matrix and the value matrix. The input embeddings are multiplied by the key matrix to generate keys, which represent the importance or relevance of the input information. Moreover, the input embeddings are also multiplied by the value matrix to generate values, which contain the actual information that will be processed and weighed based on the keys. The combination of the keys and values, derived from the local input embeddings and the learned matrices, is used to compute a set of local memory states. The local memory states refer to the internal representations or intermediate information that a node in a neural network retains during information processing. The local memory states are configured to store relevant information about the input that has been processed by the node, enabling the local memory state to carry forward context or insights from the current processing step to subsequent steps.
[0082] In accordance with an embodiment, the method 200 further includes the node receiving one or more node memory states (Si) from at least one of the one or more other nodes (L, M), the received one or more node memory states forming a set of node memory states (Sn). The receiving of memory states from other nodes is essential for allowing nodes to share insights, context, or intermediate information during distributed processing tasks. By sharing memory states, nodes can collaborate and refine the overall information processing, as each node can benefit from the context and computations performed by other nodes. Each node in the network maintains its own local memory states, which capture intermediate information during information processing. In this method, a node receives memory states from one or more other nodes in the same layer or from neighbouring layers. Furthermore, the received memory states are combined to form a set of node memory states at the receiving node. By sharing and integrating memory states, nodes are configured to get the insights gained by other nodes, leading to better overall performance.
[0083] In accordance with an embodiment, the method 200 further includes determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n). The set of local memory states represents the memory states generated by the current node based on the local processing of input information. The set of received memory states represents the memory states shared by other nodes in the multi-agent intelligent network 100, providing insights or intermediate results from the respective computations. In order to determine the combine node memory state, the current node is configured to integrate the set of local memory states with the set of received memory states. The integration of the set of local memory states with the set of received memory states enhances the ability of the node to process information by incorporating the knowledge. In accordance with an embodiment, the method 200 further includes providing the set of combined node memory states (Sn) to at least one next node and determining an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn). By propagating combined memory states through the multi-agent intelligent network 100, each subsequent node benefits from the collective context and insights from previous nodes, improving the quality of processing at every stage.
[0084] Advantageously, the multi-agent intelligent network 100 eliminates the need for centralized coordination by distributing information processing across layers of nodes. The method 200 ensures a seamless flow of information through the multi-agent intelligent network 100 by utilizing the scheduler 110 to manage communication between nodes. The architecture of the multiagent intelligent network 100 includes input layers, intermediate layers, and a final output layer, each performing specific functions. By distributing tasks across these layers, the multi-agent intelligent network 100 is configured to handle increasingly complex information sets and tasks. Moreover, the method 200 allows the nodes to selectively share processed tokens with subsequent layers, introducing flexibility in the multi-agent intelligent network 100. Each node in the multi-agent intelligent network 100 is configured to process their information in parallel, contributing to faster information handling and reducing the time required for large-scale tasks. Additionally, during backpropagation, errors are shared across nodes within the same layer and across previous layers, ensuring that each node can adjust its internal model based on both output and input errors. The multi-agent intelligent network 100 further enables nodes to calculate the local model updates based on input and output differences, sharing them with the scheduler for aggregation. The aggregated updates are averaged to prevent extreme adjustments and ensure balance. Moreover, the scheduler 110 is configured to control the distribution of training input tokens to the first layer and training output labels to the final layer, thereby ensuring the proper training flow, allowing the multi-agent intelligent network 100 to learn from its predictions by comparing them to the expected outputs and adjusting accordingly.
[0085] The steps 202 to 234 are only illustrative, and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.
[0086] FIG. 3 is a flowchart of a method for training a node in the multi-agent intelligent network, in accordance with an embodiment of the present disclosure. FIG. 3 is described in conjunction with elements from FIG. 1 and FIG. 2. With reference to FIG. 3, there is shown a flowchart of method 300 that includes steps 302 to 330.
[0087] There is provided the method 300 of training the node in the multi-agent intelligent network 100 providing distributed attention. Each node in the multi-agent intelligent network 100 is configured to learn how to process information, communicate with other nodes, and focus on relevant information using attention mechanisms. Moreover, the multi-agent intelligent network 100 is structured so that several nodes work together, distributing the computational tasks across the multi-agent intelligent network 100, allowing for scalable and efficient learning without relying on a central authority to control or coordinate the process.
[0088] At step 302, the method 300 includes arranging the node to process input information through the model to provide output information. In an implementation, the node is configured to receive the input information from either external sources, such as information sets or sensors, or from other nodes within the multi-agent intelligent network 100. Once the input is received by the node, the node is configured to use the model to process the input information. For example, the model can be a machine learning model designed for information transformation or decision-making. The model is configured to apply operations such as feature extraction, prediction, or transformation, depending on the task of the node. After processing the input, the node is configured to generate output information, which can then be passed to subsequent nodes in the multi-agent intelligent network 100. Thus, by embedding specific models within each node, the multi-agent intelligent network 100 can be tailored to handle a variety of tasks, from simple information transformation to complex decision-making.
[0089] At step 304, the method 300 includes arranging the first layer to receive input tokens as input information. The first layer of the multi-agent intelligent network 100 is connected to information sources, such as an information set or a real-time information stream and is set up to receive tokens as input information. The tokens represent various forms of information, depending on the task at hand. For example, in natural language processing (NLP), the tokens might represent words or subwords in a sentence, while in image processing, the tokens could represent pixels or small patches of an image. Moreover, the first layer of the multi-agent intelligent network 100 of the multi-agent intelligent network 100 is configured to process the token using the internal models and transforms them into an intermediate representation that is passed to subsequent layers for further processing. By breaking the input information into tokens, the multi-agent intelligent network 100 ensures that each piece of information is processed in a structured manner, leading to more accurate and efficient communication.
[0090] At step 306, the method 300 includes arranging one or more intermediate layers to receive input information from one or more nodes of the previous layer and send output information to one or more nodes of the subsequent layer. One or more intermediate layers are structured to receive input information from the nodes in the previous layer, which could be either the first input layer or another intermediate layer. The input information is typically in the form of transformed information, such as features extracted from the raw information by the model of the previous layer. In an implementation, each node in the intermediate layer is configured to apply the local model to process the received input, which may involve tasks such as feature refinement, classification, or further transformation. Further, after processing the input information, the intermediate layer is configured to generate output information, which is sent to other nodes in the subsequent layer for further refinement of the output.
[0091] At step 308, the method 300 includes arranging the final layer to provide output information as output labels. After passing through the intermediate layers, the processed information is configured to reach the final layer. The nodes present in the final layer apply their model to the processed information to generate the output information. The output information is transformed into the output labels. The output labels may include but are not limited to categorical labels, numeric labels, and the like, which can be easily used for decision-making or further actions.
[0092] At step 310, the method 300 includes processing the input information. In an implementation, the node is configured to receive the input information from either external source like sensors or information sets or from other nodes within the multi-agent intelligent network 100. Further, once the input information is received, the node is configured to use the local model to process the input information. The processing of the input information may involve but is not limited to feature extraction, transformation, prediction, and the like. By processing input information at each stage, the multi-agent intelligent network 100 is configured to handle complex tasks like image recognition, language processing, or real-time decision-making more effectively. At step 312, the method 300 includes sharing processed information with nodes of the same current layer. After processing the input information, each node is configured to transmit the processed information, including memory states, token counters, or other computed values to the neighbouring nodes within the same layer. In an implementation, the sharing of the processed information through a predefined communication protocol facilitates the real-time exchange of information. Moreover, the nodes are configured to receive information from each other and integrate it into their own processing pipelines, allowing them to refine their models, adjust their outputs, or synchronize their actions with the rest of the layer. The continuous flow of shared information ensures that every node in the layer has a complete understanding of the processed information.
[0093] In accordance with an embodiment, the node is arranged to further share to the nodes in the same layer an identifier of a sub layer. As the node processes information and shares output information with other nodes in the same layer, the output information includes a sub- layer identifier alongside other shared information, such as the identifier of that node, the counter, and the memory states. The sub- layer identifier indicates which specific part of the layer the node is operating within. In an implementation, when other nodes receive the sub- lay er identifier, the nodes are configured to determine whether the information is relevant to their own processing tasks based on whether the information belongs to the same sub-layer.
[0094] In accordance with an embodiment, each node is arranged to share processed token as input information to the zero or more nodes in the subsequent layer, an identifier of the sending device, and a counter of the output information. The identifier of the sending device refers to a unique label or code that distinguishes one node from another within the multi-agent intelligent network 100. Moreover, the identifier of the sending device is shared to ensure that the information or information being shared between nodes can be traced back to the source or the sending device. The counter of the output information refers to a value or metric that keeps track of how much information or how many units of information a node has processed and sent to the next layer. Furthermore, the counter of the output information is configured to prevent errors like sending duplicate information or missing information to one or more nodes. In accordance with an embodiment, at least one node is further arranged to share an identifier of the layer. The identifier of the layer is a unique label or code that distinguishes one layer from another in the multi-agent intelligent network 100. By including the identifier of the layer, the multi-agent intelligent network 100 is configured to manage the flow of information, ensuring that information is categorized according to the source layer, preventing confusion, and aiding in structured communication.
[0095] In accordance with an embodiment, the node is arranged to share to the nodes in the same layer when processing the output information of that node, an identifier of the node, a counter indicating a number of tokens processed so far at that layer, and memory states for each head of a multi-head layer of linear attention. The identifier of the node refers to a unique label that identifies the source of the data being shared. The counter refers to a numerical value that tracks the progress of data processing within the layer, specifically the number of tokens handled by the node. The memory state refers to the internal data or context that a node retains during processing in the multi-agent intelligent network 100, especially in attention-based models like transformers. By sharing the identifier, counter and memory state, the node enhances the collaborative and distributed processing capabilities of the multi-agent intelligent network 100.
[0096] At step 314, the method 300 includes providing processed output labels in the final layer. The nodes in the final layer are configured to receive the processed information from the intermediate layers, which have already been refined through multiple stages of transformation. Moreover, by using the internal models, the node in the final layer is configured to apply a final round of processing to the received information and generate output labels. The output labels represent the final interpretation of the information, summarizing the processing of the multi-agent intelligent network 100 in a format that is ready for decisionmaking.
[0097] At step 316, the method 300 includes determining the difference between the training output labels and processed output labels.
[0098] After producing the processed output labels, the multi-agent intelligent network 100 is configured to compare the processed output labels with the training output labels. The training output labels represent the ground truth or desired results for the given task. In an implementation, the comparison of the processed output labels with the training output label may include but is not limited to calculating an error metric, such as the mean squared error or cross-entropy loss. The calculated error shows the difference between the processed output labels and the training output labels, thereby providing a clear indication of the performance of the multi-agent intelligent network 100.
[0099] At step 318, the method 300 includes backpropagating the difference through model of the node. Backpropagation is a fundamental process for training the multi-agent intelligent network 100. The backpropagation includes calculating the gradient of the error with respect to the internal parameters of each node. The error is backpropagated backwards from the final layer through the multi-agent intelligent network 100. Furthermore, each node in the current layer is configured to receive the error signal. Each node in the current layer is further configured to use the error signal to adjust various parameters using optimization techniques such as gradient descent. Specifically, each node is configured to update its weight in a direction that reduces the error for the next iteration. The process continues backwards through each layer, ensuring that the multi-agent intelligent network 100 is fine-tuned. Additionally, the backpropagation ensures that the multi-agent intelligent network 100 learns in a hierarchical manner, with each layer refining its output.
[0100] In accordance with an embodiment, each node is arranged to share to the nodes in the same layer when backpropagating the difference, an identifier of the sending device, a counter of memory states, and an error in memory states. In other words, during backpropagation, each node in the multi-agent intelligent network 100 is configured to share specific information with other nodes in the same layer, which includes the identifier of the sending device, the counter of memory states and the error in memory states, that is the difference between the actual and expected memory states during backpropagation. Moreover, each node is configured to determine the error in the memory states based on the difference between the predicted memory state and the expected memory state. Each node in the multi-agent intelligent network 100 is further configured to share the error with other nodes in the same layer to ensure all nodes have the same understanding of the error that needs to be corrected. In accordance with an embodiment, each node is arranged to share to the one or more nodes in the previous layer, the identifier of the sending device, the counter of the input information, and the error in input information. The sharing of the identifier of the sending device, the counter of the input information, and the error in input information with nodes in the previous layer is crucial for maintaining effective communication and collaboration across layers. By providing the identifier of the sending device, the receiving nodes are configured to trace the source of the information, facilitating better information management.
[0101] At step 320, the method 300 includes determining expected input information. The expected input information is typically calculated from the backpropagation process, which determines the error between the predicted output and the target output. Moreover, during the backpropagation, the multi-agent intelligent network 100 is configured to compute the ideal input to each node based on the overall difference between the training output and the processed output, leading to more accurate and reliable predictions. At step 322, the method 300 includes determining errors in input information. The error in input information is determined by comparing the actual input information received by a node with the expected input information that the node should have received for optimal performance. Furthermore, the comparison between the actual input information and the expected input information is made during the backpropagation process. In an implementation, the error is computed using an error metric, such as the difference between the actual and expected values or the gradient of the loss function. By systematically addressing input errors, the multi-agent intelligent network 100 can fine-tune its internal parameters, resulting in more precise information processing and output generation.
[0102] At step 324, the method 300 includes sharing the error in the input information with the nodes of the current layer and one or more nodes of the previous layer. Once the error in input information is determined, each node in the current layer is configured to share the error to other nodes within the same layer. The sharing of the error ensures that all nodes in the current layer are aware of any discrepancies and can adjust the parameters accordingly. Moreover, the error is also sent back to one or more nodes in the previous layer, thereby allowing the previous layer to understand how the output, which serves as the input to the current layer, contributes to the error. Additionally, the nodes in the previous layer are configured to adjust their own processing to reduce such errors in future iterations.
[0103] At step 326, the method 300 includes determining the local model update. The local model update is typically determined by comparing the current output of the node with the expected or desired output. The comparison between the current output of the node and the expected or desired output gives an error. Based on the error, the node is configured to adjust the internal parameters, such as weights or biases, using various optimization techniques like gradient descent. By determining the local model update, the node ensures continuous learning.
[0104] In accordance with an embodiment, the method 300 further comprises the node determining the local model update based on the received difference and the determined error in input information. Each node is configured to process the input information and calculate the difference between the processed output and the desired output. Moreover, each node is again configured with the error in the input information it receives. Furthermore, by using the output difference and the input error, the node is configured to update the internal model.
[0105] At step 328, the method 300 includes transmitting local model updates to the scheduler 110. After each node processes the input information and calculates the local model update based on error backpropagation, the updated parameters are transmitted to the scheduler 110 or to other nodes in the multi-agent intelligent network 100. The transmission of the updated parameters includes collecting the local updates from all nodes, aggregating the collected updates, and averaging the updates to form an aggregate model update. By aggregating the updates, the multi-agent intelligent network 100 is configured to make collective adjustments that enhance the overall performance of the multi-agent intelligent network 100.
[0106] In accordance with an embodiment, the method 300 further comprises determining the aggregate model for a layer on the average of the local model updates for the layer. In an implementation, each node in the multi-agent intelligent network 100 is configured to update its local model based on the errors encountered during processing. The updated local model is then sent to the scheduler 110. The scheduler 110 is configured to add all the local updates from different nodes and divide the total by the number of nodes in the layer to determine the average. The average is called the aggregate model for the layer. Thus, by averaging updates, the method 300 is configured to prevent any extreme changes caused by the learning of any single node, thereby ensuring the multi-agent intelligent network 100 remains resilient and balanced.
[0107] At step 330, the method 300 includes receiving the aggregate model from the scheduler update for its layer and adapting its model based on the aggregate model update. The scheduler 110 is configured to transmit the aggregate model update back to each node in the layer. After receiving the aggregate model update, each node is configured to adjust the internal model to reflect the aggregate update. The adaptation process helps to ensure that the individual learning efforts of all nodes are incorporated into the internal models.
[0108] In accordance with an embodiment, the method 300 includes each node receiving a set of local input embeddings (i.e., Xn, XI- X3) as the input information and applying positional embedding to the set of local input embeddings. The set of local input embeddings may include but is not limited to words, numerical information, or other forms of input. The local input embeddings are numerical vectors that represent the information in a form suitable for processing by the model. After receiving the local input embeddings, the node is configured to apply positional embeddings to the local input embeddings. The positional embeddings are additional vectors added to each input embedding, encoding the position of each input element in the sequence (e.g., first, second, third). Additionally, positional embeddings are configured to enhance the capacity of the multi-agent intelligent network 100 to generalize across different sequences, leading to better performance in real- world applications. In accordance with an embodiment, the method 300 further includes determining a set of keys (i.e., Kn) by multiplying the set of local input embeddings with a learned key matrix (i.e., WK). Initially, the method 200 includes receiving a set of local input embeddings, which are numerical representations of the input information. The set of local input embeddings is then multiplied by a learned key matrix. The key matrix refers to a set of weights that the network learns during training, configured to transform the input embeddings into a set of keys (i.e., Kn = Xn X Wk), where Xn represents the local input embeddings, and Wk represents the learned key matrix.
[0109] In accordance with an embodiment, the method 300 further includes determining a set of values (i.e., Vn) by multiplying the set of local input embeddings with a learned value matrix (i.e., Wv). In an implementation, after receiving the set of local input embeddings, which represent the input information in numerical form. The set of local input embeddings is multiplied by the learned value matrix, which is a set of weights learned during training. The set of values generated by the multiplication of the set of local input embeddings and the learned value matrix are then used along with the keys and queries in the attention mechanism. Specifically, after attention scores are calculated based on the keys and queries, the attention scores are applied to the set of values to determine which parts of the input information will contribute most to the final output. Thus, the determination of the set of values allows the network to retain and process the core information needed for decision-making.
[0110] In accordance with an embodiment, the method 300 further includes determining a set of queries (Qn) by multiplying the set of local input embeddings with a learned query matrix (WQ). In an implementation, the set of local input embeddings, which are numerical representations of the input information (e.g., words in a sentence, parts of an image, etc.), are multiplied by the learned query matrix, which is a set of weights learned during the training process. The result of this multiplication is the set of queries (Qn) represented as (Qn= XnX WQ). The set of queries, in conjunction with keys and values, are configured to compute attention scores.
[0111] In accordance with an embodiment, the method 300 further includes the node determining a set of local memory states (S’n) based on the set of local input embeddings, a learned key matrix (WK) and a learned value matrix (Wv). Initially, the method 200 includes receiving a set of local input embeddings, which are numerical representations of the input information. Further, the node is configured to apply the key matrix and the value matrix. The input embeddings are multiplied by the key matrix to generate keys, which represent the importance or relevance of the input information. Moreover, the input embeddings are also multiplied by the value matrix to generate values, which contain the actual information that will be processed and weighed based on the keys. The combination of the keys and values, derived from the local input embeddings and the learned matrices, is used to compute a set of local memory states. The local memory states refer to the internal representations or intermediate information that a node in a neural network retains during information processing. The local memory states are configured to store relevant information about the input that has been processed by the node, enabling the local memory state to carry forward context or insights from the current processing step to subsequent steps.
[0112] In accordance with an embodiment, the method 300 further includes the node receiving one or more node memory states (Si) from at least one of the one or more other nodes (L, M), the received one or more node memory states forming a set of node memory states (Sn). The receiving of memory states from other nodes is essential for allowing nodes to share insights, context, or intermediate information during distributed processing tasks. By sharing memory states, nodes can collaborate and refine the overall information processing, as each node can benefit from the context and computations performed by other nodes. Each node in the network maintains its own local memory states, which capture intermediate information during information processing. In this method, a node receives memory states from one or more other nodes in the same layer or from neighbouring layers. Furthermore, the received memory states are combined to form a set of node memory states at the receiving node. By sharing and integrating memory states, nodes are configured to get the insights gained by other nodes, leading to better overall performance. In accordance with an embodiment, the method 300 further includes determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n). The set of local memory states represents the memory states generated by the current node based on the local processing of input information. The set of received memory states represents the memory states shared by other nodes in the multi-agent intelligent network 100, providing insights or intermediate results from the respective computations. In order to determine the combined node memory state, the current node is configured to integrate the set of local memory states with the set of received memory states. The integration of the set of local memory states with the set of received memory states enhances the ability of the node to process information by incorporating the knowledge. In accordance with an embodiment, the method 300 further includes providing the set of combined node memory states (Sn) to at least one next node and determining an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn). By propagating combined memory states through the multi-agent intelligent network 100, each subsequent node benefits from the collective context and insights from previous nodes, improving the quality of processing at every stage.
[0113] Advantageously, the method 300 allows the multi-agent intelligent network 100 to distribute training and learning processes across nodes without centralized coordination. Each node processes input information independently, shares insights, and adjusts its model based on local computations, making the network scalable and efficient. The architecture of the multi-agent intelligent network 100, with input, intermediate, and final layers, enables progressive refinement of data, ensuring that complex datasets are handled effectively. The input tokens are processed in parallel across the nodes, reducing overall processing time. Moreover, the method 300 also introduces flexibility by allowing selective information sharing, including memory states, token counters, and node identifiers, within and between layers, ensuring that the network stays synchronized and operates collaboratively. During backpropagation, errors are shared across nodes and layers, allowing each node to finetune its internal model based on both output and input errors, improving learning accuracy. The scheduler 110 plays a key role by aggregating local model updates, averaging them to prevent extreme changes, and distributing them across the network for balanced learning. Additionally, the scheduler 110 coordinates training by delivering input tokens to the first layer and output labels to the final layer, enabling the network to refine its predictions and adjust accordingly. Overall, the method 300 enhances the multi-agent intelligent network 100 by enabling distributed, flexible, and efficient learning, improving its performance in handling complex tasks.
[0114] The steps 302 to 330 are only illustrative, and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.
[0115] The scheduler 110 and the node achieve all the advantages and technical effects of the multi-agent intelligent network 100 of the present disclosure.
[0116] There is further provided a computer program product comprising program instructions for performing the methods 200 and 300 when executed by one or more processors in the multi-agent intelligent network 100. The computer program product is implemented as an algorithm, embedded in a software stored in a non-transitory computer-readable storage medium. The non- transitory computer-readable storage means may include but are not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Examples of implementation of computer-readable storage medium, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), a computer-readable storage medium, and / or CPU cache memory. FIG. 4 is a diagram that illustrates an initialization phase of the multi-agent intelligent network, in accordance with an embodiment of the present disclosure. FIG. 4 is described in conjunction with elements from FIG. 1 to 3. With reference to FIG. 4, there is shown a diagram 400 that illustrates the initialization phase of the multi-agent intelligent network 100 that includes the scheduler 110, the server 108, input token 412, and label 414.
[0117] The input token 412 refers to the discrete unit of data that is fed into the multi-agent intelligent network 100 for processing during the training phase. The input tokens 412 represent segments of the training dataset, which can vary depending on the application and context of the network. For example, in natural language processing (NLP), the input tokens 412 may correspond to individual words, sub-words, or characters in a text sequence. For another example, the context of image processing, the input token 412 could represent pixels or small patches of an image, while in time series analysis, the input token 412 might represent individual data points or measurements over time.
[0118] The label 414 refers to the target outputs or desired results associated with the input tokens in the training dataset of the multiagent intelligent network 100. The labels 414 serve as a benchmark against which the predictions of the multi-agent intelligent network 100 are compared during the training process, enabling the multi-agent intelligent network 100 to learn and adjust the internal model based on the accuracy of its predictions.
[0119] There is provided a training protocol and signalling for distributed training of a large model with K layers of multi-head linear attention deployed over a network of devices. The training protocol consists of multiple iterations of forward and backward passes, which continue until convergence of the model weights is achieved. Each complete pass is divided into K rounds, where each round corresponds to a specific layer of the model.
[0120] During the forward pass, the first phase involves communication between devices within the same layer. In the first phase, devices share the processed memory states and counters to synchronize their operations, ensuring that all devices are up to date with the current processing status. The message exchanged includes critical components such as the device identifier, layer identifiers, counter for processed tokens, head identifiers for multi-head attention, and the memory states being shared. The second phase of the forward pass focuses on communication between consecutive layers. In the second phase, devices in one layer transmit their processed output tokens to devices in the subsequent layer, facilitating a seamless flow of information. The messages exchanged in this phase include the device identifier, layer identifier, output token indices, and the actual output tokens being sent.
[0121] During the backward pass, the training protocol again consists of two phases, starting with communication among devices within the last layer. Initially, the first phase includes the devices computing the prediction error by comparing the predicted tokens with the actual labels. The error is then shared among devices in the same layer, promoting a collective understanding of the prediction error. The messages exchanged during this phase include the device identifier, layer identifiers, memory state indices, head identifiers, and the computed error values. The second phase of the backward pass involves devices sending their calculated errors back to the devices in the previous layer, enabling weight adjustment based on the prediction errors. The messages exchanged in the second phase include the device identifier, layer identifier, input token indices, and the corresponding error values associated with those tokens. The systematic approach to communication during both forward and backward passes enhances the efficiency of the distributed training process, ensuring that data sharing and model weight updates occur seamlessly across the multi-agent intelligent network 100 while maintaining synchronization and accuracy throughout the training.
[0122] At operation 402, the remote server loads the training dataset into the multi-agent intelligent network 100, enabling communication between the server 108 and the scheduler 110. The remote server is configured to retrieve the training dataset from a designated storage location, ensuring accessibility to all devices within the multi-agent intelligent network 100. Additionally, the continuous interaction between the server 108 and the scheduler 110 enables the multi-agent intelligent network 100 to monitor and optimize the distribution process, ultimately contributing to the overall performance of the training protocol within the multi-agent intelligent network 100.
[0123] At operation 404, the scheduler 110 is configured to manage the distribution of the training dataset or inputs across the multiagent intelligent network 100, ensuring that the dataset is effectively allocated among the devices. Moreover, the scheduler 110 is also responsible for determining the optimal way to split the training data into segments that can be processed simultaneously by the first layer of devices. The scheduler 110 communicates with each device to relay the details of the input sequences, allowing the devices to prepare for processing.
[0124] At operation 406, the multi-agent intelligent network 100 initiates the loading of input tokens into the first layer of devices. The input tokens, which represent segments of the training dataset, are distributed based on the earlier allocation managed by the scheduler 110. ach device in the first layer is equipped to handle a specific set of input tokens, allowing for parallel processing. As the input tokens are loaded, the devices within the first layer prepare to execute their respective computations. By enabling multiple devices to handle separate segments of the data simultaneously, the multi-agent intelligent network 100 accelerates the forward pass, resulting in faster model training.
[0125] At operation 408, the multi-agent intelligent network 100 is configured to execute the processing of input tokens within the first layer of devices. During the operation 408, the devices perform various tasks based on their specific configurations and capabilities. For instance, some devices may focus on feature extraction, identifying critical aspects of the input data that will be useful for the subsequent layers, whereas other devices may perform transformations, converting the raw input into a format suitable for analysis. The outputs generated by each device in the first layer are organized and indexed to ensure accurate data transfer to the next layer.
[0126] At operation 410, the multi-agent intelligent network 100 is configured to provide communication between the devices in the first layer and the subsequent layers of devices, ensuring effective data transfer and processing continuity. The communication between the devices in the first layer and the subsequent layers of devices allows communication between the devices in the first layer and the subsequent layers of devices. Each device in the first layer sends its output tokens, which consist of the results of individual computations, to selected devices in the second layer, thereby enhancing the overall efficiency of the training protocol by maintaining a steady flow of information between layers.
[0127] In some implementations, the training protocol further includes a third phase, referred to as the update phase. The devices in each layer of the multi-agent intelligent network 100 utilize the computed prediction errors to produce local model updates. By calculating local model updates, each device adjusts the weights and biases in response to the prediction errors, improving its ability to make accurate predictions in subsequent iterations. Once the local model updates are generated, the devices within the same layer send the respective local modal updates to the scheduler 110, thereby ensuring that the updates from all devices are collected and processed in a coordinated manner. The scheduler 110 is then configured to compute the aggregated model update, often by averaging the local updates received from each device. After the aggregated model update is calculated, the aggregated model update is sent back to all devices in that layer. Each device applies the received aggregated update to its local model, ensuring that all devices maintain the same model weights throughout the training process.
[0128] FIG. 5 is a diagram that illustrates an exemplary scenario of a vehicle monitored by a network of cameras, in accordance with an embodiment of the present disclosure. FIG. 5 is described in conjunction with elements from FIG. 1 to 4. With reference to FIG. 5, there is shown a diagram 500 that depicts a vehicle 502, which is moving in direction 512 and is monitored by the multi-agent intelligent network 100 of the cameras, such as a first camera 504A, a second camera 504B, and a third camera 504C. In an implementation, the cameras, such as the first camera 504A, the second camera 504B, and the third camera 504C, are configured to provide the data, such as the captured frames (e.g., a first frame 510A, a second frame 510B, and a third frame 510C) to the associated nodes. For example, the first camera 504A is configured to provide the data captured to the first node 514A, and the second node 514B is configured to provide the data captured to the second node 514B. Similarly, the third camera 504C is configured to provide the data captured to the third node 514C. Furthermore, each of the nodes transfers a last frame along with the combined memory state and the counter. For example, at operation 506, the first node 514A is configured to transfer the combined memory state along with the counter and a last frame to the second node 514B, and at operation 508, the second node 514B is configured to transfer the last frame along with the combined memory state along with the counter. As a result, the multi-agent intelligent network 100 can be utilized to perform computations that would normally require large computations and moving all recorded data at a single place for distributed linear attention, such as autonomous driving, distributed intelligent computing, smart manufacturing, e-health care, and the like.
[0129] Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as "including", "comprising", "incorporating", "have", "is" used to describe and claim the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural. The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or to exclude the incorporation of features from other embodiments. The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". It is appreciated that certain features of the present disclosure, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable combination or as suitable in any other described embodiment of the disclosure.
Claims
CLAIMS1. A method (200) of training a multi-agent intelligent network (100) providing distributed attention, the multi-agent intelligent network (100) comprising a scheduler (110) and K layers of nodes, each layer comprising a plurality of nodes, wherein there is a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes, wherein each node is arranged to process input information through a model to provide output information, the nodes of the first layer are arranged to receive input tokens as input information, the nodes of the one or more intermediate layers are arranged to receive input information from one or more nodes of a previous layer and send output information to one or more nodes of a subsequent layer, and the nodes of the final layer are arranged to provide output information as output labels, wherein the method (200) comprises for each layer, process the input information in each node in the current layer, share processed information with nodes of the same current layer, share processed tokens as input information to the zero or more nodes of the subsequent layer, whereby the node of the final layer provides processed output labels, and wherein the method (200) further comprises determine a difference between the training output labels and the processed output labels, and then, for each layer starting with the final layer, backpropagate the difference through the model of each node in the current layer thereby determining an expected input information, determine an error in input information, and share the error in input information with the nodes of the current layer, and then share the error in input information with the one or more nodes of the previous layer whereby the nodes of the previous layer will use the error in input information as the difference, and wherein the method (200) further comprises each node determining a local model update transmit the local model update to the scheduler (110), the scheduler (110) determining an aggregate model update for each layer, each node receiving the aggregate model update for its layer and adapting its model based on the aggregate model update.
2. The method (200) according to claim 1, wherein the method (200) further comprises each node determining a local model update based on the received difference and the determined error in input information.
3. The method (200) according to claim 1 or 2, wherein the method (200) further comprises determining the aggregate model for a layer on the average of the local model updates for the layer.
4. The method (200) according to any preceding claim, wherein each node is arranged to share to the nodes in the same layer when processing the output information of that node; an identifier of the node, a counter indicating a number of tokens processed so far at that layer, memory states for each head of a multi-head layer of linear attention.
5. The method (200) according to claim 4, wherein at least one node is arranged to further share to the nodes in the same layer an identifier of a sub layer.
266. The method (200) according to any preceding claim, wherein each node is arranged to share to the one or more nodes in the subsequent layer; an identifier of the sending device, a counter of the output information.
7. The method (200) according to claim 6, wherein at least one node is further arranged to share an identifier of the layer.
8. The method (200) according to any preceding claim, wherein each node is arranged to share to the nodes in the same layer when backpropagating the difference; an identifier of the sending device, a counter of memory states, an error in memory states.
9. The method (200) according to any preceding claim, wherein each node is arranged to share to the one or more nodes in the previous layer; an identifier of the sending device, a counter of the input information, the error in input information.
10. The method (200) according to any preceding claim, wherein the method (200) further comprises the scheduler (110) providing the nodes of the first layer with training input tokens prior to the nodes processing the input information and providing the nodes of the final layer with training output labels.
11. The method according to any preceding claim, wherein the method (200) further comprises the scheduler (110) sending coordination information to the nodes, wherein the coordination information for each node includes which node(s) to receive input information from and which node(s) to send output information to.
12. The method (200) according to claim 11, wherein the method (200) further comprises the scheduler (110) sending coordination information to the nodes, wherein the coordination information for each node includes in what order to process the received input information.
13. The method (200) according to any preceding claim, wherein the method further comprises each node receiving a set of local input embeddings (Xn, X1-X3) as the input information, applying positional embedding to the set of local input embeddings (Xn, X1-X3), determining a set of keys (Kn) by multiplying the set of local input embeddings (Xn, X1-X3) with a learned key matrix (WK), determining a set of values (Vn) by multiplying the set of local input embeddings (Xn, X1-X3) with a learned value matrix (Wv), determining a set of queries (Qn) by multiplying the set of local input embeddings (Xn, X1-X3) with a learned query matrix (WQ), wherein the method further comprises the node determining a set of local memory states (S’n) based on the set of local input embeddings (Xn, X1-X3), a learned key matrix (WK) and a learned value matrix (Wv), receiving one or more node memory states (S1) from at least one of the one or more other nodes (L, M), the received one or more node memory states forming a set of node memory states (Sn), determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n),providing the set of combined node memory states (Sn) to at least one next node, and determine an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn).
14. A computer program product comprising program instructions for performing the method according to any one of claims 1 to 13, when executed by one or more processors in a multi-agent intelligent network.
15. A multi-agent intelligent network (100) providing distributed attention, the multi-agent intelligent network (100) comprising a scheduler (110) and K layers of nodes, each layer comprising a plurality of nodes, wherein there is a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes, wherein each node is arranged to process input information through a model to provide output information, the nodes of the first layer are arranged to receive input tokens as input information, the nodes of the one or more intermediate layers are arranged to receive input information from one or more nodes of a previous layer and send output information to one or more nodes of a subsequent layer, and the nodes of the final layer are arranged to provide output information as output labels, wherein each node comprises a controller configured to, during training for each layer: process the input information in each node in the current layer, share processed information with nodes of the same current layer, share processed tokens as input information to the zero or more nodes of the subsequent layer, whereby the node of the final layer provides processed output labels, and wherein the controller of each node is then further configured to determine a difference between the training output labels and the processed output labels, and then, for each layer starting with the final layer, backpropagate the difference through the model of each node in the current layer thereby determining an expected input information, determine an error in input information, and share the error in input information with the nodes of the current layer, and then share the error in input information with the one or more nodes of the previous layer whereby the nodes of the previous layer will use the error in input information as the difference, and wherein the controller of each node is then further configured to determine a local model update, transmit the local model update to the scheduler (110), and wherein a controller of the scheduler (110) is configured to determine an aggregate model update for each layer, and wherein the controller of each node is then further configured to receive the aggregate model update for its layer and adapting its model based on the aggregate model update.
16. A method (300) of training a node in a multi-agent intelligent network (100) providing distributed attention, the multi-agent intelligent network (100) comprising a scheduler (110) and K layers of nodes, each layer comprising a plurality of nodes, wherein there is a first input layer of nodes, one or more intermediate layers of nodes and a final layer of nodes, wherein the node is arranged to process input information through a model to provide output information, the node, when in the first layer is arranged to receive input tokens as input information, the node, when in the one or more intermediate layers is arranged to receive input information from one or more nodes of a previous layer and send output information to one or more nodes of a subsequent layer, and the node, when in the final layer is arranged to provide output information as output labels, wherein the method comprises the node processing the input information,sharing processed information nodes of the same current layer, sharing processed tokens as input information to the zero or more nodes of the subsequent layer, whereby the node, when in the final layer provide processed output labels, and wherein the method further comprises the node determining a difference between the training output labels and the processed output labels, and then, backpropagating the difference through the model of the node thereby determining an expected input information, determine an error in input information, and share the error in input information with the nodes of the current layer, and then share the error in input information with the one or more nodes of the previous layer whereby the nodes of the previous layer will use the error in input information as the difference, and wherein the method further comprises the node determining a local model update transmitting the local model update to the scheduler (110), the node receiving the aggregate model from a scheduler (110) update for its layer and adapting its model based on the aggregate model update.
17. The method (300) according to claim 16, wherein the method further comprises the node determining a local model update based on the received difference and the determined error in input information.18 The method (300) according to claim 16 or 17, wherein the method further comprises determining the aggregate model for a layer on the average of the local model updates for the layer.
19. The method (300) according to any of claims 16 to 18, wherein the node is arranged to share to the nodes in the same layer when processing the output information of that node; an identifier of the node, a counter indicating a number of tokens processed so far at that layer, memory states for each head of a multi-head layer of linear attention.
20. The method (300) according to claim 19, wherein the node is arranged to further share to the nodes in the same layer an identifier of a sub layer.
21. The method (300) according to any of claims 16 to 20, wherein the node is arranged to share to the one or more nodes in the subsequent layer; an identifier of the sending device, a counter of the output information.
22. The method (300) according to claim 21, wherein at least one node is further arranged to share an identifier of the layer.
23. The method (300) according to any of claims 16 to 22, wherein the node is arranged to share to the nodes in the same layer when backpropagating the difference; an identifier of the sending device, a counter of memory states, an error in memory states.
24. The method (300) according to any of claims 16 to 23, wherein the node is arranged to share to the one or more nodes in the previous layer; an identifier of the sending device,29a counter of the input information, the error in input information.
25. The method (300) according to any of claims 16 to 24, wherein the method further comprises the node receiving a set of local input embeddings (Xn, X1-X3) as the input information, applying positional embedding to the set of local input embeddings (Xn, X1-X3), determining a set of keys (Kn) by multiplying the set of local input embeddings (Xn, X1-X3) with a learned key matrix (WK), determining a set of values (Vn) by multiplying the set of local input embeddings (Xn, X1-X3) with a learned value matrix (Wv), determining a set of queries (Qn) by multiplying the set of local input embeddings (Xn, X1-X3) with a learned query matrix (WQ), wherein the method further comprises the node determining a set of local memory states (S’n) based on the set of local input embeddings (Xn, X1-X3), a learned key matrix (WK) and a learned value matrix (Wv), receiving one or more node memory states (S1) from at least one of the one or more other nodes (L, M), the received one or more node memory states forming a set of node memory states (Sn), determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n), providing the set of combined node memory states (Sn) to at least one next node, and determine an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn).30