A method for constructing equivalent networks for brain simulation
Through the equivalent network construction method, the neuron clusters in the brain simulation network are split and fused, solving the problem that a single chip cannot accommodate large-scale neuron clusters and poor computing parallelism, and achieving the speed of brain simulation and the observation ability of specific neurons.
Patent Information
- Application Number
- CN202411732453.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-04-08
AI Technical Summary
When the existing brain simulation framework processes large-scale neuron clusters, a single chip cannot accommodate it, resulting in poor computing parallelism, slow simulation speed, and difficulty in isolating specific neurons for observation.
An equivalent network construction method is proposed. By clarifying the fusion or splitting ratio of neuron clusters, the number of neurons and synaptic connection matrix after splitting or fusing is obtained, the splitting and fusion of neuron clusters is achieved, ensuring that the splitting or fusing network is equivalent to the original network.
This method can optimize the storage and calculation of neuron clusters without actually creating a brain simulation network, improve the parallelism and speed of brain simulations, and support the observation of specific neurons.
Smart Images

Figure CN119783774A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of brain simulation, and in particular to a method for constructing an equivalent network for brain simulation. Background Art
[0002] In order to deeply understand the functions and behaviors of the brain, a research plan for computer simulation of the brain was proposed. However, the brain is a large and complex system. Therefore, when studying the brain, brain scientists divide the brain into different areas according to its structure to conduct detailed and in-depth research. When accurately modeling the brain, different parts are modeled according to different structures and functions, which are called neuron clusters. For example, the microcircuit brain simulation model contains 8 neuron clusters, and the Macacque brain simulation model contains 256 neuron clusters. Neuron clusters are connected to each other through synapses. Common connection rules are: One2One(), All2All(), FixedPreNum(), FixedProb(), FixedPostNum(), FixedTotalNum().
[0003] One2One() makes one-to-one connections between neurons in two neuron clusters, requiring that the number of neurons in the two connected neuron clusters be the same and the total number of connections be the number of neurons in a single neuron cluster.
[0004] All2All() connects each neuron in the source neuron cluster to all neurons in the target neuron cluster. The total number of connections is the number of neurons in the source neuron cluster * the number of neurons in the target neuron cluster.
[0005] FixedPreNum() connects a fixed number of source cluster neurons to each target cluster neuron.
[0006] FixedProb() connects the target neuron cluster with a fixed probability.
[0007] FixedPostNum() Each neuron in the source neuron cluster is connected to a fixed number of neurons in the target neuron cluster;
[0008] FixedTotalNum() connects the source and target neuron clusters with a fixed number.
[0009] When performing brain simulation, a single chip cannot accommodate a neuron cluster containing many neurons and synapses. At the same time, multiple neuron clusters are assigned to a chip, and the calculations of multiple neuron clusters cannot be completely parallel, resulting in a slower brain simulation. Therefore, it is necessary to build an equivalent brain simulation network so that a single chip can accommodate a single neuron cluster, and the neurons on the same chip can be calculated completely in parallel to speed up brain simulation. In addition, it is necessary to separate certain neurons that researchers are interested in for specific observations.
[0010] The classic brain simulation framework NEST GPU is a framework for large-scale brain simulation based on GPU-MPI. It is written in C++ and CUDA C++ programming languages and can be used in Python, C++ and C. The framework integrates multiple neuron models such as LIF neuron model and AdEx neuron model, synapses based on current or conductance, different types of spike generators, spike recording tools, and supports user-definable models. The framework builds a brain simulation network on the GPU according to neuron clusters. When the number of neurons and synapses in a neuron cluster is too small, a GPU contains multiple neuron clusters. It is difficult for neurons in different neuron clusters to operate in parallel, resulting in the inability to fully utilize the parallel computing capabilities of the GPU, resulting in slow brain simulation speed. Secondly, when a neuron cluster is too large, it cannot be created on a single GPU, resulting in video memory overflow and program crash. In addition, NEST GPU creates a brain simulation network with neuron clusters, and it is difficult to separate specific neurons from the cluster for observation.
[0011] The existing technical solutions have the following defects or deficiencies:
[0012] 1. The existing brain simulation framework does not consider how to store a single neuron cluster for brain simulation when the storage space required by the cluster exceeds the storage space of a single chip.
[0013] 2. The existing brain simulation framework takes into account the parallelism of neurons within a neuron cluster, but does not consider the parallelism between neuron clusters, resulting in a slower brain simulation speed when multiple neuron clusters are contained on a chip.
[0014] 3. Existing brain simulation frameworks all observe the entire neuron cluster, making it difficult to isolate the neurons of interest to the model for specific observation.
[0015] The brain model is constructed based on neuron clusters with different connection characteristics. Due to the different sizes of neuron clusters, a single chip may not be able to accommodate a neuron cluster, or there may be too many neuron clusters on a chip. In addition, when observing, users may only need to observe a few neurons instead of an entire neuron cluster. All these indicate that the established brain model has certain limitations when conducting large-scale brain simulation and simulation observation. Summary of the invention
[0016] In view of the above-mentioned problems existing in current brain simulation, the present invention proposes a method for constructing an equivalent network for brain simulation. This method can complete the splitting and fusion of neuron clusters without actually creating a brain simulation network on a chip, and ensure that the constructed network is equivalent to the original brain simulation network.
[0017] A method for constructing an equivalent network for brain simulation, for the synaptic connection mode of neurons in the brain simulation network, firstly, the fusion or split ratio is clarified, and the number of neurons contained in each neuron cluster after fusion or split is obtained; secondly, according to the law and distribution of the synaptic connection mode after fusion or split, the synaptic connection matrix of fusion or split is obtained; finally, the neuron clusters are fused or split according to the ratio, and the synaptic connection is performed according to the synaptic connection mode and the connection matrix, so as to ensure that the neuron cluster after split or fusion is equivalent to the original neuron cluster.
[0018] Furthermore, the brain simulation network neuron synaptic connection modes include: One2One(), All2All(), FixedPreNum(), FixedProb(), FixedPostNum(), FixedTotalNum(); the neuron cluster splitting and fusion includes: multiple neuron clusters are fused into one neuron cluster; support splitting a neuron cluster into any number of neuron clusters; and support mixed operations of splitting and then fusing neuron clusters.
[0019] Furthermore, the fusion of the neuron clusters ensures that the fused cluster is equivalent to the original multiple clusters. This means that: the number of neurons in the fused cluster is equal to the number of neurons in the original multiple clusters; the synaptic connection relationship of the fused cluster is equivalent to the connection relationship of the original multiple clusters. During fusion, first ensure that the number of neurons in the fused cluster is equal to the total number of neurons in the multiple neuron clusters that need to be fused. Then, all neurons in the original neuron cluster correspond to the same number of neurons in the fused cluster. After the corresponding relationship is determined, the corresponding neuron connection relationship is guaranteed to be equivalent.
[0020] Furthermore, the neuron cluster is split when the synapses of the neuron cluster are One2One() connections. First, according to the number of splits and the ratio of the splits, the neurons in the neuron cluster are split into multiple neuron clusters containing a corresponding number of neurons, and the total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster. If the internal synaptic connection of the original neuron cluster is One2One(), the internal synaptic connection of the neuron cluster after the split is One2One(), and there is no synaptic connection between the neuron clusters after the split. If the connection between the original neuron cluster and other neuron clusters is One2One(), then each neuron cluster after the split will sort the neurons by serial number, and the corresponding serial number will be connected one by one with the same serial number of the target neuron.
[0021] Furthermore, the neuron cluster is split when the synapses of the neuron cluster are connected as All2All(). First, the neurons in the neuron cluster are split into multiple neuron clusters containing a corresponding number of neurons according to the number of splits and the ratio of the splits, and the total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster. If the internal synaptic connection of the original neuron cluster is All2All(), the internal All2All() synaptic connection of the neuron cluster after the split is connected, and the synaptic connection between the neuron clusters after the split is All2All(). If the connection between the original neuron cluster and other neuron clusters is All2All(), each neuron cluster after the split still maintains an All2All() connection with this neuron cluster.
[0022] Furthermore, the neuron cluster synapse is a neuron cluster split when the neuron cluster synapse is connected by FixedPreNum(), and FixedPreNum() connects a fixed number of source neuron cluster neurons to the neurons of each target neuron cluster. Assume that a fixed number X of source neuron cluster neurons are connected to the neurons of each target neuron cluster. First, the neurons in the neuron cluster before the split are split into multiple neuron clusters containing a corresponding number of neurons according to the number of splits and the split ratio. The ratio corresponding to the i-th neuron cluster after the split is ki. Assuming that the number of neurons in the neuron cluster before the split is K, the number of neurons contained in the i-th neuron cluster after the split is
[0023] If the internal synaptic connection of a neuron cluster is FixedPreNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPreNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPreNum(), and the fixed number of neurons in the source neuron cluster FixedPreNum() connected to each target neuron cluster is determined by the following matrix. The mth row and nth column of the matrix indicates that the fixed number of values corresponding to the connection mode FixedPreNum() of the nth neuron cluster after splitting to the mth neuron cluster after splitting is the value of the mth row and nth column of the matrix.
[0024]
[0025] If the external synaptic connection of a neuron cluster is FixedPreNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPreNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPreNum(), and the fixed number of neurons in the source neuron cluster FixedPreNum() connected to each target neuron cluster is determined by the following vector. The nth column of the vector indicates that the fixed number of values corresponding to the connection mode FixedPreNum() of the nth neuron cluster to the target neuron cluster after splitting is the value of the nth column of the connection vector.
[0026]
[0027] Furthermore, the neuron cluster is split when the synapses of the neuron cluster are FixedProb() connections. Assume that the synaptic connection probability of the fixed probability connection FixedProb() is p. First, the neurons in the original neuron cluster are split into multiple neuron clusters containing a corresponding number of neurons according to the number of splits and the ratio of the splits. The total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster. If the internal synaptic connection of the original neuron cluster is FixedProb(), the internal FixedProb() synaptic connection of the neuron cluster after the split is p, and the FixedProb() synaptic connection between the neuron clusters after the split is x. If the connection between the original neuron cluster and other neuron clusters is FixedProb(), each neuron cluster after the split still maintains a FixedProb() connection with this neuron cluster, and the connection probability is p.
[0028] Furthermore, the neuron cluster synapse is a neuron cluster split when the neuron cluster synapse is connected with FixedPostNum(). FixedPostNum() Each neuron of the source neuron cluster is connected to a fixed number of target neuron cluster neurons. Assume that each neuron of the source neuron cluster is connected to a fixed number X of target neuron cluster neurons. S701: First, the neurons in the neuron cluster before the split are split into multiple neuron clusters containing a corresponding number of neurons according to the number of splits and the split ratio. The ratio corresponding to the i-th neuron cluster after the split is ki. Assuming that the number of neurons in the neuron cluster before the split is K, the number of neurons contained in the i-th neuron cluster after the split is
[0029] If the internal synaptic connection of a neuron cluster is FixedPostNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPostNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPostNum(), and the neurons of each source neuron cluster FixedPostNum() are connected to a fixed number of target neuron clusters. The fixed number of neurons corresponding to the connection mode FixedPreNum() of the nth neuron cluster after splitting is determined by the following matrix. The mth row and nth column of the matrix indicates that the fixed number of values corresponding to the connection mode FixedPreNum() of the nth neuron cluster after splitting to the mth neuron cluster after splitting is the value of the mth row and nth column of the matrix.
[0030]
[0031] If the external synaptic connection of a neuron cluster is FixedPostNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPostNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPostNum(), and the neurons of each source neuron cluster FixedPostNum() are connected to a fixed number of target neuron clusters. The fixed number of neurons corresponding to the neurons is determined by the following vector. The nth column of the matrix indicates that the fixed number of connections from the nth neuron cluster to the target neuron cluster FixedPreNum() after splitting is the value of the nth column of the connection vector.
[0032]
[0033] Furthermore, the neuron cluster synapse is a neuron cluster split when the neuron cluster synapse is connected by FixedTotalNum(). FixedTotalNum() connects the source neuron and the target neuron cluster with a fixed number. Assume that the source neuron and the target neuron cluster are connected with a fixed number X.
[0034] First, the neurons in the neuron cluster before splitting are split into multiple neuron clusters containing corresponding numbers of neurons according to the number of splits and the split ratio. After splitting, the corresponding ratio of the i-th neuron cluster is k. i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is
[0035] If the internal synaptic connection of a neuron cluster is FixedTotalNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedTotalNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedTotalNum(), and the fixed number of connections of FixedTotalNum() corresponding to the source neurons and the target neuron cluster is obtained from the following connection matrix. The mth row and nth column of the matrix indicates that the fixed number corresponding to the connection mode FixedTotalNum() of the nth neuron cluster after splitting to the mth neuron cluster after splitting is the value of the mth row and nth column of the matrix.
[0036]
[0037] If the external synaptic connection of a neuron cluster is FixedTotalNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedTotalNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedTotalNum(), and the fixed number of connections between the source neurons and the target neuron cluster corresponding to FixedTotalNum() is obtained by the following connection vector. The nth column of the vector indicates that the fixed number of connections FixedTotalNum() from the nth neuron cluster to the target neuron cluster after splitting is the value of the nth column of the connection vector.
[0038]
[0039] Furthermore, for the hybrid operation of splitting and fusion, the present invention supports splitting a plurality of neuron clusters separately first, and then arbitrarily fusing the split neuron clusters, such a hybrid operation of both splitting and fusion.
[0040] The present invention proposes a method for constructing an equivalent network for brain simulation. This method can complete the splitting and fusion of neuron clusters without actually creating a brain simulation network on a chip, and ensures that the constructed network is equivalent to the original brain simulation network. This solves the problem that a single chip cannot accommodate an overly large neuron cluster, accelerates the brain simulation process, and facilitates the observation of certain specific neurons. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1is a schematic diagram of the fusion of neuron clusters of the present invention;
[0042] Figure 2 It is a schematic diagram of neuron cluster splitting of the present invention;
[0043] Figure 3 It is a schematic diagram of the hybrid operation of both splitting and merging neuron clusters of the present invention; DETAILED DESCRIPTION
[0044] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0045] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention.
[0046] This embodiment proposes a method for constructing an equivalent network for brain simulation. This method can complete the splitting and fusion of neuron clusters without actually creating a brain simulation network on a chip, and ensure that the constructed network is equivalent to the original brain simulation network.
[0047] The synaptic connection modes of neurons in the brain simulation network include: One2One(), All2All(), FixedPreNum(), FixedProb(), FixedPostNum(), and FixedTotalNum(). The neuron cluster splitting and fusion include: multiple neuron clusters merge into one neuron cluster; support splitting a neuron cluster into any number of neuron clusters; and support mixed operations of splitting and then fusing neuron clusters. Furthermore, in order to ensure that the fused cluster is equivalent to the original multiple clusters, the fusion of neuron clusters must ensure that: the number of neurons in the fused cluster is equal to the number of neurons in the original multiple clusters; and the synaptic connection relationship of the fused cluster is equivalent to the connection relationship of the original multiple clusters. During fusion, first ensure that the number of neurons in the fused cluster is equal to the total number of neurons in the multiple neuron clusters that need to be fused. Then, all neurons in the original neuron cluster correspond to the same number of neurons in the fused cluster. After the corresponding relationship is determined, the corresponding neuron connection relationship is guaranteed to be equivalent. Figure 1As shown in the figure, the three neuron clusters a, b, and c are fused into one cluster d. First, the number of neurons in neuron cluster d is determined, which is the sum of the number of neurons in a, b, and c. Secondly, the neurons in d correspond to the neurons in a, b, and c, d1 corresponds to a, d2 corresponds to b, and d3 corresponds to c. Finally, the synaptic connection relationship of the corresponding neurons is guaranteed to be equivalent, as shown by the black arrows in the figure, so that we get a neuron cluster d that is fused with a, b, and c and is equivalent to a, b, and c.
[0048] For equivalent splitting of neuron clusters, such as Figure 2 As shown, the neuron cluster d is split into three neuron clusters d0, d1, and d2. First, the number of neurons in the neuron cluster is determined. The sum of the number of neurons in d0, d1, and d2 is the number of neurons in d. The number of neurons in d0, d1, and d2 can be set as needed. Secondly, the synaptic connection relationship is set according to the synaptic connection inside the neuron cluster d and the synaptic connection outside. The connection relationship setting needs to be based on the connection mode, as described below.
[0049] Neuron cluster splitting when the synapses of the neuron cluster are One2One() connections. First, according to the number of splits and the split ratio, the neurons in the neuron cluster are split into multiple neuron clusters containing the corresponding number of neurons. The total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster. If the internal synaptic connection of the original neuron cluster is One2One(), the internal synaptic connection of the neuron cluster after splitting is One2One(), and there is no synaptic connection between the neuron clusters after splitting. If the connection between the original neuron cluster and other neuron clusters is One2One(), the neurons of each neuron cluster after splitting are sorted by sequence number, and the corresponding sequence number is connected one by one with the same sequence number of the target neuron.
[0050] Neuron cluster splitting when the synapses of the neuron cluster are All2All() connections. First, according to the number of splits and the split ratio, the neurons in the neuron cluster are split into multiple neuron clusters containing the corresponding number of neurons. The total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster. If the internal synaptic connection of the original neuron cluster is All2All(), the internal All2All() synaptic connection of the neuron cluster after splitting, and the All2All() synaptic connection between the neuron clusters after splitting. If the connection between the original neuron cluster and other neuron clusters is All2All(), each neuron cluster after splitting still maintains an All2All() connection with this neuron cluster.
[0051] Neuron cluster splitting when the neuron cluster synapses are connected by FixedPreNum(). FixedPreNum() connects a fixed number of neurons in the original neuron cluster to neurons in each target neuron cluster. Assume that a fixed number of neurons in the original neuron cluster X are connected to neurons in each target neuron cluster. First, the neurons in the neuron cluster before splitting are split into multiple neuron clusters containing the corresponding number of neurons according to the number of splits and the split ratio. After splitting, the corresponding ratio of the i-th neuron cluster is k. i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is
[0052] If the internal synaptic connection of a neuron cluster is FixedPreNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPreNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPreNum(), and the fixed number of neurons in the original neuron cluster FixedPreNum() connected to each target neuron cluster is determined by the following matrix. The mth row and nth column of the matrix indicates that the fixed number of values corresponding to the connection mode FixedPreNum() of the nth neuron cluster after splitting to the mth neuron cluster after splitting is the value of the mth row and nth column of the matrix.
[0053]
[0054] If the external synaptic connection of a neuron cluster is FixedPreNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPreNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPreNum(), and the fixed number of neurons in the original neuron cluster FixedPreNum() connected to each target neuron cluster is determined by the following vector. The nth column of the vector indicates that the fixed number of values corresponding to the connection mode FixedPreNum() of the nth neuron cluster to the target neuron cluster after splitting is the value of the nth column of the connection vector.
[0055]
[0056] Neuron cluster splitting when the synapses of the neuron cluster are FixedProb() connections. Assume that the synaptic connection probability of the fixed probability connection FixedProb() is p. First, split the neurons in the original neuron cluster into multiple neuron clusters containing the corresponding number of neurons according to the number of splits and the split ratio. The total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster. If the internal synaptic connection of the original neuron cluster is FixedProb(), the internal FixedProb() synaptic connection of the split neuron cluster is p, and the FixedProb() synaptic connection between the split neuron clusters is Y. If the connection between the original neuron cluster and other neuron clusters is FixedProb(), each neuron cluster after the split still maintains a FixedProb() connection with this neuron cluster, and the connection probability is p.
[0057] Neuron cluster splitting when the synapses of a neuron cluster are connected by FixedPostNum(). FixedPostNum() Each neuron of the original neuron cluster is connected to a fixed number of neurons of the target neuron cluster. Assume that each neuron of the original neuron cluster is connected to a fixed number X of neurons of the target neuron cluster.
[0058] First, the neurons in the neuron cluster before splitting are split into multiple neuron clusters containing corresponding numbers of neurons according to the number of splits and the split ratio. After splitting, the corresponding ratio of the i-th neuron cluster is k. i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is
[0059] If the internal synaptic connection of a neuron cluster is FixedPostNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPostNum() before the split is itself, the synaptic connection mode of the neuron cluster after the split is still FixedPostNum(), and the neurons of each original neuron cluster FixedPostNum() are connected to a fixed number of target neuron clusters. The fixed number of neurons corresponding to the connection mode FixedPreNum() of the nth neuron cluster after the split is determined by the following matrix. The mth row and nth column of the matrix indicates that the fixed number of values corresponding to the connection mode FixedPreNum() of the nth neuron cluster after the split to the mth neuron cluster after the split is the value of the mth row and nth column of the matrix.
[0060]
[0061] If the external synaptic connection of a neuron cluster is FixedPostNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPostNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPostNum(), and the neurons of each original neuron cluster FixedPostNum() are connected to a fixed number of target neuron clusters. The fixed number of neurons corresponding to the neurons is determined by the following vector. The nth column of the matrix indicates that the fixed number of connections from the nth neuron cluster to the target neuron cluster FixedPreNum() after splitting is the value of the nth column of the connection vector.
[0062]
[0063] Neuron cluster splitting when the synapses of the neuron cluster are connected by FixedTotalNum(). FixedTotalNum() connects the source neuron and the target neuron cluster with a fixed number. Assume that the source neuron and the target neuron cluster are connected with a fixed number X.
[0064] First, the neurons in the neuron cluster before splitting are split into multiple neuron clusters containing corresponding numbers of neurons according to the number of splits and the split ratio. After splitting, the corresponding ratio of the i-th neuron cluster is k. i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is
[0065] If the internal synaptic connection of a neuron cluster is FixedTotalNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedTotalNum() before the split is itself, the synaptic connection mode of the neuron cluster after the split is still FixedTotalNum(), and the fixed number of FixedTotalNum() connecting the original neurons and the target neuron cluster corresponding to the fixed number is obtained from the following connection matrix. The mth row and nth column of the matrix indicates that the fixed number corresponding to the connection mode FixedTotalNum() of the nth neuron cluster after the split to the mth neuron cluster after the split is the value of the mth row and nth column of the matrix.
[0066]
[0067] If the external synaptic connection of a neuron cluster is FixedTotalNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedTotalNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedTotalNum(), and the fixed number of connections between the original neurons and the target neuron cluster corresponding to FixedTotalNum() is obtained by the following connection vector. The nth column of the vector indicates that the fixed number of connections FixedTotalNum() from the nth neuron cluster to the target neuron cluster after splitting is the value of the nth column of the connection vector.
[0068]
[0069] The present embodiment supports a hybrid operation of splitting and merging multiple neuron clusters separately and then arbitrarily fusing the split neuron clusters. For a given brain simulation model, the neuron clusters can be split first, and then these split neuron clusters can be fused to obtain new neuron clusters.
[0070] For split-merge hybrid operations, such as Figure 3 As shown in the figure, the neuron cluster d is split into three neuron clusters d0, d1, and d2, and the neuron cluster e is split into two neuron clusters e0 and e1. After the splitting is completed, d2 and e0 are merged into one neuron cluster.
[0071] In order to verify the effectiveness of the scheme proposed in this paper, we conducted brain simulation verification on a server cluster with a total of 22 accelerator cards. First, the original brain simulation model was directly run on the server cluster to perform a four-second biological time brain simulation. The simulation results are shown in the first row of Table 1. Secondly, using the equivalent brain simulation network construction method designed in this paper, the function corresponding to the equivalent brain simulation network construction method is called. The function will obtain the number of neurons and synaptic connection methods of different neuron clusters on the same computing card, and automatically complete the calculation of the number of neurons in the fused neuron cluster after fusion, and the calculation of the synaptic connection method. According to the calculated number of neurons and synaptic connection method, the fused god-level meta-cluster is automatically constructed, and the neuron clusters on the same accelerator card are fused to construct an equivalent network. The four-second biological time brain simulation is performed, and the brain simulation time is shown in Table 1. As can be seen from Table 1, when simulating a brain with 750 million neurons, the original brain simulation network takes 1020.22 seconds, while the constructed equivalent network can effectively parallelize the neurons on the same accelerator card, simulating four seconds of biological time in only 325.75 seconds, and the brain simulation time is reduced by 68.1%. For brain simulations with 700 million and 720 million neurons, the brain simulation time is also reduced by 69.03% and 69.4%. In summary, it is verified that the brain simulation equivalent network construction method proposed in this paper can effectively accelerate the brain simulation process.
[0072] Table 1 Comparison of brain simulation time consumption
[0073] Network size 700 million neurons 720 million neurons 750 million neurons Original brain simulation network simulation time 1009.19 seconds 1021.85 seconds 1020.22 seconds Equivalent brain simulation network simulation time 312.49 seconds 313.01 seconds 325.75 seconds
[0074] The equivalent network construction method for brain simulation in this embodiment has the following advantages:
[0075] 1. Support the automatic fusion of any number of neuron clusters;
[0076] 2. Supports the automatic splitting of any number of parts of a neuron cluster;
[0077] 3. Support the mixed use of automatic splitting and fusion of neuron clusters;
[0078] 4. Splitting or fusion can be performed without actually creating a brain simulation network.
[0079] This embodiment designs a method for constructing an equivalent network for brain simulation, which can construct an equivalent network corresponding to an existing brain simulation network according to actual needs, so as to: 1. Reasonably utilize storage space, and the equivalent network enables a single chip to accommodate the largest neuron cluster; 2. The equivalent network allows the neuron clusters on the same chip to be merged into one neuron cluster, and parallel computing accelerates the brain simulation process; 3. Certain specific neurons that need to be observed can be separated separately.
Claims
1. A method for constructing an equivalent network for brain simulation, characterized in that: For the synaptic connection mode of neurons in the brain simulation network, the fusion or splitting ratio is first determined, and the number of neurons contained in each neuron cluster after fusion or splitting is obtained; secondly, the synaptic connection matrix of fusion or splitting is obtained according to the law and distribution of the synaptic connection mode after fusion or splitting; finally, the neuron clusters are fused or split according to the ratio, and the synaptic connection is performed according to the synaptic connection mode and the connection matrix to ensure that the neuron clusters after splitting or fusion are equivalent to the original neuron clusters.
2. The method according to claim 1, characterized in that: The synaptic connection modes include: One2One(), All2All(), FixedPreNum(), FixedProb(), FixedPostNum(), and FixedTotalNum(); The fusion and splitting of neuron clusters include: fusion of multiple neuron clusters into one neuron cluster, splitting one neuron cluster into any number of neuron clusters, and supporting mixed operations of splitting and then fusing neuron clusters.
3. The method according to claim 2, characterized in that The multiple neuron clusters are fused into one neuron cluster, ensuring that the fused cluster is equivalent to the original multiple clusters; the number of neurons in the fused cluster is equal to the number of neurons in the original multiple clusters; the synaptic connection relationship of the fused cluster is equivalent to the connection relationship of the original multiple clusters; The one neuron cluster is split into multiple neuron clusters, ensuring that the multiple neuron clusters after the splitting are equivalent to the original one cluster of neurons.
4. The method according to claim 2, characterized in that: The equivalent splitting of a neuron cluster when the synapses of the neuron cluster are One2One() connections includes: First, according to the number of splits and the split ratio, the neurons in the neuron cluster are split into multiple neuron clusters containing the corresponding number of neurons, and the total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster; if the internal synaptic connection of the original neuron cluster is One2One(), the internal synaptic connection of the neuron cluster after splitting is One2One(), and there is no synaptic connection between the neuron clusters after splitting; if the connection between the original neuron cluster and other neuron clusters is One2One(), then each neuron cluster after splitting will sort the neurons by serial number, and the corresponding serial number will be connected one by one with the same serial number of the target neuron.
5. The method according to claim 2, characterized in that: The equivalent splitting of a neuron cluster when the synapses of the neuron cluster are connected by All 2All() includes: First, according to the number of splits and the split ratio, the neurons in the neuron cluster are split into multiple neuron clusters containing a corresponding number of neurons, and the total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster; secondly, the internal synaptic connection of the original neuron cluster is All2All(), the internal synaptic connection of the neuron cluster after splitting is All2All(), and the synaptic connection between the neuron clusters after splitting is All 2All(); finally, the connection between the original neuron cluster and other neuron clusters is All 2All(), then each neuron cluster after splitting still maintains an All2All() connection with this neuron cluster.
6. The method according to claim 2, characterized in that The equivalent splitting of a neuron cluster when the synapses of the neuron cluster are connected by FixedPreNum() includes: Assume that a fixed number of source neuron cluster neurons X are connected to the neurons of each target neuron cluster. First, the neurons in the neuron cluster before splitting are split into multiple neuron clusters containing the corresponding number of neurons according to the number of splits and the split ratio. After splitting, the corresponding ratio of the i-th neuron cluster is k i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is If the internal synaptic connection of a neuron cluster is FixedPreNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPreNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPreNum(), and the fixed number of neurons in the source neuron cluster FixedPreNum() connected to each target neuron cluster is determined by formula (1). The mth row and nth column of the matrix represent the connection mode of the nth neuron cluster after splitting to the mth neuron cluster after splitting. The fixed number value corresponding to FixedPreNum() is the value of the mth row and nth column of the matrix; If the external synaptic connection of the neuron cluster is FixedPreNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPreNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPreNum(), and the fixed number of neurons in the source neuron cluster FixedPreNum() connected to each target neuron cluster is determined by formula (2). The nth column of the vector represents the connection mode of the nth neuron cluster to the target neuron cluster after splitting. The fixed number of values corresponding to FixedPreNum() is the value of the nth column of the connection vector.
7. The method according to claim 2, characterized in that The equivalent splitting of a neuron cluster when the synapses of the neuron cluster are connected by FixedProb() includes: Assuming that the synaptic connection probability of the fixed probability connection FixedProb() is p, first split the neurons in the original neuron cluster into multiple neuron clusters containing the corresponding number of neurons according to the number of splits and the split ratio. The total number of neurons contained in these neuron clusters is equal to the number of neurons in the original neuron cluster; if the internal synaptic connection of the original neuron cluster is FixedProb(), the internal FixedProb() synaptic connection of the split neuron cluster is p, and the FixedProb() synaptic connection between the split neuron clusters is x; if the connection between the original neuron cluster and other neuron clusters is FixedProb(), each neuron cluster after the split still maintains a FixedProb() connection with this neuron cluster, and the connection probability is p.
8. The method according to claim 2, characterized in that: The equivalent splitting of a neuron cluster when the synapses of the neuron cluster are connected by FixedPostNum() includes: Assuming that the neurons of each source neuron cluster are connected to a fixed number of target neuron cluster neurons X, the neurons in the neuron cluster before splitting are first split into multiple neuron clusters containing the corresponding number of neurons according to the number of splits and the split ratio. The corresponding ratio of the i-th neuron cluster after splitting is k i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is If the internal synaptic connection of a neuron cluster is FixedPostNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPostNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPostNum(), and the fixed number of neurons in each source neuron cluster of FixedPostNum() connected to the fixed number of target neuron cluster neurons is determined by formula (3). The mth row and nth column of the matrix represent the connection mode of the nth neuron cluster after splitting to the mth neuron cluster after splitting. The fixed number value corresponding to FixedPreNum() is the value of the mth row and nth column of the matrix; If the external synaptic connection of a neuron cluster is FixedPostNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedPostNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedPostNum(), and the fixed number of neurons in each source neuron cluster of FixedPostNum() connected to the fixed number of target neuron cluster neurons is determined by formula (4). The nth column of the matrix indicates that the fixed number of connections from the nth neuron cluster to the target neuron cluster FixedPreNum() after splitting is the value of the nth column of the connection vector.
9. The method according to claim 2, characterized in that: The equivalent splitting of a neuron cluster when the synapses of the neuron cluster are connected by FixedTotalNum() includes: Assuming that a fixed number X is used to connect the source neuron and the target neuron cluster, the neurons in the neuron cluster before splitting are first split into multiple neuron clusters containing the corresponding number of neurons according to the number of splits and the split ratio. The corresponding ratio of the i-th neuron cluster after splitting is k i , assuming that the number of neurons in the neuron cluster before splitting is K, then the number of neurons contained in the i-th neuron cluster after splitting is If the internal synaptic connection of a neuron cluster is FixedTotalNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedTotalNum() before splitting is itself, the synaptic connection mode of the neuron cluster after splitting is still FixedTotalNum(), and the fixed number of connections of FixedTotalNum() corresponding to the source neuron and the target neuron cluster is obtained by formula (5), The mth row and nth column of the matrix represent the connection mode of the nth neuron cluster after splitting to the mth neuron cluster after splitting. The fixed number corresponding to FixedTotalNum() is the value of the mth row and nth column of the matrix; If the external synaptic connection of the neuron cluster is FixedTotalNum(), that is, the target neuron cluster of the synaptic connection of the neuron cluster FixedTotalNum() before splitting is not itself, the synaptic connection mode of the neuron cluster after splitting is still FixedTotalNum(), and the fixed number of FixedTotalNum() connecting the source neuron and the target neuron cluster is obtained by the following formula (6): The nth column of the vector represents the fixed number of connections from the nth neuron cluster to the target neuron cluster after splitting. The FixedTotalNum() is the value of the nth column of the connection vector.
10. The method according to claims 1 to 9, characterized in that Hybrid operations that split and then fuse neuron clusters include: For a given brain simulation model, the neuron clusters can be first split according to the methods described in claims 4 to 9, and then the split neuron clusters can be selected and fused according to claim 3 to obtain new neuron clusters.