A split federated learning method, device and medium for adaptive activation of upload
Patent Information
- Application Number
- CN202611256624.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-19
- Publication Date
- 2026-10-20
AI Technical Summary
[0005]本说明书一个或多个实施例提供了一种自适应激活上传的拆分联邦学习方法、设备及介质,用于解决如下技术问题:拆分联邦学习的每个训练步中都上传新的完整激活存在重复通信,且现有减少边界激活上传次数的方式容易在数据分布突变时复用过期缓存导致训练质量退化,无法满足训练过程中通信开销和训练质量之间的平衡需求
通过引入激活摘要为边界激活的压缩表征,将高维边界激活压缩为低维摘要向量,并在客户端本地将当前摘要与缓存摘要进行比较以判定激活变化程度,生成上传门控信号,使通信开销与实际的信息变化量直接挂钩,滤除了边界激活序列在时域上的冗余信息分量,仅传输相对于历史缓存的新增信息增益,从而在训练平稳阶段实现通信节省,在数据突变阶段保证信息及时更新,在信息损失可忽略的前提下实现上行通信量的显著压缩;客户端基于当前激活摘要与历史缓存摘要的差异状态生成门控信号,使得上传与否的判定能够在数据产生端实时完成,从通信路径上消除了冗余上行传输,客户端在本地生成上传门控信号后再决定需要上传的数据,大多数训练步仅需传输跳过标记而非完整激活数据,通信数据量的降低使系统对网络带宽的需求大幅下降;根据门控信号确定差异化的上传数据内容与服务器端激活来源,使得每个训练步的上行数据量由激活的变化程度动态决定而非固定为完整激活张量,实现了通信开销与数据更新需求的自适应匹配,并且确保了服务器在任何分支下均能获得确定性的训练数据来源,避免了因缺少明确复用指示而导致服务器使用错误或过期激活的风险,从而在源头层面上降低了数据分布突变时因缓存过期复用而导致的梯度错误累积和训练质量退化风险,从根本上解决了现有拆分联邦学习中通信开销与训练质量无法兼顾的技术问题,使系统能够在保持模型收敛性能的前提下最大限度地减少冗余的上行通信。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This specification relates to the field of split federated learning technology, and in particular to a split federated learning method, device and medium with adaptive activation upload. Background Technology
[0002] With the increasing demand for edge private data, enterprise edge gateways, and mobile terminals to participate in model training, many devices wish to participate in collaborative training without uploading raw data or bearing the full model training overhead. Split Federated Learning (SFL) is an edge-cloud collaborative training paradigm that has emerged in recent years. By splitting the complete deep neural network into predefined layers, the model is divided into a low-level layer on the client and a high-level layer on the server. This allows the client to retain local data and only need to run the low-level model before the split and upload intermediate activation data. The cloud server then undertakes the training of the high-level model after the split, making it suitable for devices with low GPU memory to participate in edge-cloud collaborative training.
[0003] Existing split-fed learning methods typically involve the client uploading the boundary activations at the split layer at each training step. The server then uses this information for forward computation and backpropagation. While this reduces the client's model load, boundary activations become the primary object of uplink communication. In training scenarios involving continuous text, log modeling, or other batches where changes are relatively gradual, uploading new complete boundary activations—i.e., high-dimensional intermediate activation data—at each training step leads to redundant communication and high overhead. Existing technologies employ fixed-interval skipping or random-interval skipping uploads. While these methods can reduce some communication, they cannot determine whether the current boundary activations have significantly changed relative to the server cache. This can lead to the reuse of expired caches during sudden changes in data distribution, posing a risk of training quality degradation due to cache expiration.
[0004] Therefore, uploading new complete activations in each training step of split federated learning involves redundant communication, and existing methods for reducing the number of boundary activation uploads are prone to reusing expired caches when data distribution changes abruptly, leading to a degradation in training quality. This fails to meet the need for a balance between communication overhead and training quality during training. Summary of the Invention
[0005] This specification provides one or more embodiments of an adaptive activation upload split federated learning method, device, and medium to solve the following technical problems: Uploading new complete activations in each training step of split federated learning results in redundant communication, and existing methods for reducing the number of boundary activation uploads are prone to reusing expired caches when data distribution changes abruptly, leading to training quality degradation, and cannot meet the balance requirement between communication overhead and training quality during training.
[0006] One or more embodiments of this specification employ the following technical solutions: This specification provides one or more embodiments of a split federated learning method for adaptive activation upload. The method includes: acquiring local training samples for each target client participating in training; performing forward propagation on the target client based on the local training samples and a pre-acquired local low-level model to determine the current boundary activation corresponding to the current training step and to determine the current activation summary; determining the upload gating signal corresponding to the current training step using the current activation summary and pre-acquired current client activation cache data corresponding to the target client, wherein the upload gating signal includes an upload signal and a skip signal; determining the current upload data to the server for the current training step based on the upload gating signal, and sending it to the server to update the network parameters of the high-level network model on the server.
[0007] This specification provides one or more embodiments of an adaptive activation upload split federated learning device, including: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the above-described method.
[0008] This specification provides one or more embodiments of a non-volatile computer storage medium storing computer-executable instructions configured to perform the above-described method.
[0009] The above-described at least one technical solution used in the embodiments of this specification can achieve the following beneficial effects: By introducing activation summaries as a compressed representation of boundary activations, high-dimensional boundary activations are compressed into low-dimensional summary vectors. The current summary is compared with the cached summary locally on the client side to determine the degree of activation change, generating an upload gating signal. This directly links communication overhead to the actual amount of information change, filtering out redundant information components in the boundary activation sequence in the time domain and transmitting only the added information gain relative to the historical cache. This achieves communication savings during the training stationary phase and ensures timely information updates during data mutation phases, significantly compressing uplink communication while allowing negligible information loss. The client generates the gating signal based on the difference between the current activation summary and the historical cached summary, enabling real-time upload decisions at the data generation end. This eliminates redundant uplink transmission in the communication path. The client generates the upload gating signal locally before deciding which data to upload, meaning most training steps only require transmitting... By skipping markers instead of full activation data, the reduced communication data volume significantly decreases the system's network bandwidth requirements. Differentiated uploaded data content and server-side activation sources are determined based on gating signals, allowing the amount of uplink data in each training step to be dynamically determined by the degree of activation change rather than being fixed to a full activation tensor. This achieves an adaptive match between communication overhead and data update requirements, ensuring the server receives deterministic training data sources in any branch. It avoids the risk of server misuse or expired activations due to a lack of explicit reuse instructions, thereby reducing the risk of gradient error accumulation and training quality degradation caused by cache expiration and reuse during sudden data distribution changes at the source level. This fundamentally solves the technical problem of balancing communication overhead and training quality in existing split federated learning, enabling the system to minimize redundant uplink communication while maintaining model convergence performance. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings: Figure 1 A flowchart illustrating an adaptive activation upload split federated learning method provided in the embodiments of this specification; Figure 2 A flowchart illustrating another adaptive activation upload split federated learning method provided in the embodiments of this specification; Figure 3 This is a schematic diagram of the structure of an adaptive activation upload split federated learning device provided in the embodiments of this specification. Detailed Implementation
[0011] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0012] This specification provides an adaptive activation upload split federated learning method. It should be noted that the execution subject in this specification embodiment can be a server or any device with data processing capabilities. Figure 1 A flowchart illustrating an adaptive activation upload split federated learning method provided in this specification is shown below. Figure 1 As shown, the main steps include the following: Step S101: Obtain local training samples for each target client participating in training. Based on the local training samples and the pre-obtained local low-level model, perform forward propagation on the target client to determine the current boundary activation corresponding to the current training step and determine the current activation summary.
[0013] In one embodiment of this specification, before the start of each training round, the server (i.e., the server-side data processing device, which may also be called the server) retrieves the set of target clients selected to participate in the training for the current round from a preset client registration list. Each target client in the target client set stores the original training dataset that has not been uploaded locally on the client.
[0014] The target client reads training samples of a batch size corresponding to the current training step from local storage. The batch size is determined by the system's preset batch parameters. The target client extracts a preset number of samples and their corresponding ground truth labels from the local training dataset according to the sample index order or random sampling, forming a batch input data tensor. Each sample contains a feature tensor of a preset dimension. Simultaneously, the target client loads a pre-acquired local low-level model from its local storage. This local low-level model is a neural network model constructed by the server through the downlink using global low-level model parameters sent by the server during the initialization phase or after the previous aggregation round. Its network structure consists of all layers of the complete global model before the preset splitting layers, including feature extraction structures such as convolutional layers, pooling layers, or fully connected layers. The target client deploys this model on its local processor and maintains the current model parameters in the state after the most recent synchronization. It should be noted that during the initialization phase, the server initializes the global model parameters to determine the model splitting layers for each target client and sends low-level model parameters to the target client, so that the target client saves the low-level model before the splitting layers, while the server saves the high-level model after the splitting layers.
[0015] The target client takes the aforementioned batch input data tensor as input and feeds it into its local low-level model for forward propagation computation. That is, following the network hierarchy of the local low-level model, tensor operations such as convolution, activation, and pooling are performed layer by layer. Data is passed sequentially between layers until it reaches a preset slicing layer. At the preset slicing layer, the output tensor of that layer is extracted and used as the current boundary activation for the current training step. The current boundary activation represents the intermediate feature representation of the input sample after low-level feature extraction. Its data form is a multi-dimensional floating-point tensor, and its dimension is determined by the dimension of the feature map or feature vector output by the preset slicing layer. Each element value in this tensor is generated by numerical calculation during forward propagation. Specifically, client i inputs the local batch data in the current training step t. The input is fed into the client's low-level model for forward propagation, within the preset layer divisions. Activate the current boundary at the location : ,in, For the client i The batch data tensor input at the t-th training step, For the client i Low-level model parameters, This is a preset layer location identifier.
[0016] After the target client obtains the current boundary activation, it calls the preset summary generation function Summary( Activate the current boundary Process to determine the current active summary In one example, the summary generation function processes data as follows: The tensor is uniformly divided into a predetermined number of channel groups along the channel dimension of the current boundary activation tensor. The maximum value of all tensor elements within each channel group is taken to obtain the maximum pooling value of each channel group. These predetermined number of maximum pooling values are then concatenated according to the original channel grouping order to form a one-dimensional vector. This one-dimensional vector is normalized using its magnitude, and the normalized one-dimensional floating-point vector is used as the current activation summary. The current boundary activation and the current activation summary are stored in local memory. It should be noted that this current activation summary is used in subsequent steps to compare with the activation summary cached on the server to quantify the degree of activation change.
[0017] During this process, the client performs forward propagation computation locally without communicating with the server. Local training samples, local low-level model parameters, and current boundary activations do not leave the client's physical storage and control scope, thus protecting the privacy of the original data while generating boundary activations.
[0018] Step S102: Determine the upload gating signal corresponding to the current training step by using the current activation summary and the pre-acquired current client activation cache data corresponding to the target client.
[0019] The upload gating signal includes an upload signal and a skip signal.
[0020] In the training process of decomposed federated learning, complete boundary activation data is uploaded to the server at each training step, causing uplink communication overhead to increase linearly with the number of training steps. To reduce redundant uploads, existing technologies attempt to use fixed-interval skipping or random probability skipping. That is, the client decides whether to upload the current activation according to a preset period or random probability. If it is determined to skip, the server reuses historical activations. However, when the activation does not change significantly, the fixed-interval scheme will still periodically perform uploads, causing unnecessary communication waste; while when the activation changes drastically, the fixed-interval or random scheme may miss critical updates due to being in a skipped state, causing the server to continue to reuse expired caches, leading to training quality degradation. Therefore, an adaptive decision-making process that can comprehensively measure the degree of activation change and cache usage status is needed. The upload behavior should be determined by the actual change of activation and the freshness of the cache, so as to minimize redundant transmission and reduce uplink communication overhead while ensuring that the server obtains effective training data.
[0021] Therefore, by using the current activation summary and the pre-acquired current client activation cache data corresponding to the target client, the upload gating signal corresponding to the current training step is determined, specifically through the following method: The first step involves retrieving the current client's active cache data from the pre-built cache entries corresponding to the target client on the server side. This active cache data includes cached activation data, a cached activation summary, a cache version number, and a current cache lifetime. The cache lifetime records the number of training steps in which the cached activation data has been continuously reused. When retrieving the current client's active cache data for the target client, a cache query request can be sent to the server via a pre-established bidirectional communication link. This cache query request includes the target client's device identifier and the current training step number, instructing the server to search for the cache entry corresponding to the target client. It should be noted that during the system initialization phase, the server independently constructs and maintains a corresponding cache entry for each client participating in training. This cache entry is stored in the server's in-memory cache table. Its data structure includes a cache activation data field, a cache activation summary field, a cache version number field, and a current cache lifetime field. The cache activation data is the boundary activation tensor most recently uploaded by the target client; the cache activation summary is the low-dimensional summary vector corresponding to this cache activation data; the cache version number is an integer counter that increments with each cache update; and the current cache lifetime is an integer value recording the number of training steps since the cache activation data was generated or last updated, continuously reused by the server as training input data, with an initial value of zero. The server retrieves the complete cache entry corresponding to the target client from the in-memory cache table based on the device identifier in the query request, and returns the stored cache activation summary and current cache lifetime to the target client via the downlink. The target client processor receives and temporarily stores the above data, then reads the current activation summary calculated in step S101 from its local memory, simultaneously acquiring both the current activation summary and the received cache activation summary.
[0022] The second step involves determining the time-varying score for the current training step using the current active summary and the cached active summary. It's important to note that this time-varying score represents the degree of activation change between the current active summary generated in the current training step and the latest cached active summary. The specific implementation process for determining the corresponding time-varying score in this step is as follows: Calculate the cosine similarity between the current active summary and the cached active summary to determine the first distance component. The first distance component is determined by the difference between 1 and the pre-calculated similarity. It should be noted that this first component represents the degree of difference between the two summary vectors in direction. Simultaneously, calculate the L2 normalized distance between the current active summary and the cached active summary to determine the second distance component. This second distance component represents the relative difference in magnitude between the two summary vectors. Based on the first and second distance components, the time-varying score is determined. In one example, a weighted summation can be performed by multiplying the preset first weight coefficient by the first sub-item, and the preset second weight coefficient by the second sub-item, and then summing the two results. The result is the time change score corresponding to the current training step. The value of the time change score is normalized to between zero and one. The larger the score, the more drastic the change of the current activation relative to the cache activation, and vice versa.
[0023] Specifically, the formula for calculating the fraction of change over time is expressed as: ,in, Indicates client i In the t Fraction of time change in training steps The preset weighting coefficient for the first distance component can be set by the system during the initialization phase based on experience. It is used to control the contribution ratio of directional differences in the change score. The cosine similarity function is used. Indicates client i The historical activation summary, i.e., the cached activation summary. For the client i In the t Current activation summary of the training step The preset weighting coefficients for the second distance component can be set by the system during the initialization phase based on experience. These coefficients are used to control the contribution ratio of amplitude differences to the changing scores. This represents the Euclidean distance between the current activation digest and the cached activation digest. Indicates the L2 modulus length of the currently active summary. To prevent extremely small constants from being divided by zero, a system default value of 10 is provided. 8 First distance component This indicates the degree of difference in direction between two summary vectors. The closer the cosine similarity is to 1, the more consistent the directions; the closer the value of this term is to 0. The second distance term... This represents the relative difference in magnitude between the two summary vectors. By normalizing the Euclidean distance, the value range of this term is kept on the same order of magnitude as the first term.
[0024] In scenarios such as continuous text and log modeling, where the sample distribution changes gradually between adjacent training steps, there is a significant temporal correlation between adjacent boundary activations, indicating they are relatively close in the feature space. The above scheme quantifies this correlation by introducing a temporal change score. When the temporal change score is lower than the upload change threshold, it is determined that the activation has not undergone a valid change, thus skipping the upload and directly suppressing redundant data transmission at the source.
[0025] The third step is to determine the upload gating signal corresponding to the current training step based on the time change score and the current cache lifetime. A mechanism solely relying on the change score has a risk of degradation: if the data distribution remains stable, causing the time change score to remain below the threshold for an extended period, the cache may be reused indefinitely. If the data distribution suddenly shifts, using expired caches will cause the server training to deviate from the correct direction. Therefore, in this embodiment, the current cache lifetime is introduced as a safety constraint for cache reuse, ensuring that the number of consecutive reuse steps of any cache-activated data does not exceed the system's preset safety boundary, thus guaranteeing model convergence.
[0026] Specifically, in this step, the upload gating signal corresponding to the current training step is determined based on the time change score and the current cache lifetime, and this is achieved in the following way: Determine the upload change threshold and cache lifetime upper limit for the target client. It should be noted that the upload change threshold is a preset constant, normalized to between 0 and 1. It is independently set by the server for each client during system initialization and stored in the server's client configuration table. Before each training round, it is sent to the target client via downlink along with the model parameters and stored in local memory. This is used to quantitatively determine whether the current activation change level has reached the critical level that requires triggering an upload. The specific value is configured differently based on the expected stability of the client's local data distribution. The cache lifetime upper limit is a preset positive integer constant, set by the server during initialization based on the total number of global training rounds and the expected model convergence speed. It is independently set for each client, stored in the client configuration table, and sent to the client's local memory. It can be sent to the target client via downlink along with the model parameters before each training round, or an initial setting can be sent during initialization. If the cache lifetime upper limit is updated, it will be sent after the update. The cache lifetime upper limit here limits the maximum number of training steps that a single cached activation data can be continuously reused, serving as a hard cutoff condition for cache freshness.
[0027] Determine whether the time change score is greater than the upload change threshold, and determine whether the current cache lifespan has reached the lifespan limit threshold. If the time change score is greater than the upload change threshold, or the cache lifespan has reached the lifespan limit threshold, generate an upload signal. If the time change score is not greater than the upload change threshold, and the cache lifespan has not reached the lifespan limit threshold, generate a skip signal.
[0028] Specifically, the first judgment condition is executed, which compares the value of the time change score with the value of the upload change threshold. It determines whether the time change score is greater than the upload change threshold. If the time change score is greater than the upload change threshold, the first judgment condition is met, indicating that the change in the current boundary activation relative to the cached activation has exceeded the system's allowed safe range, and a new activation needs to be uploaded to update the server cache. By introducing the upload change threshold as the first condition for triggering an upload, communication savings come from the real redundancy in the training data representation rather than a manually set fixed period. When the activation does not change significantly, the system automatically suppresses redundant uploads, fundamentally avoiding the inherent problem of invalid communication during the stable activation phase of a fixed-period upload strategy.
[0029] Simultaneously, a second judgment condition is executed in parallel or serially. This involves comparing the current cache lifetime value with the lifetime cap threshold to determine if the current cache lifetime has reached or exceeded the lifetime cap threshold. If the current cache lifetime is greater than or equal to the lifetime cap threshold, the second judgment condition is met, indicating that the current cache activation has been continuously reused for the maximum number of training steps allowed by the system. Even if the activation change is not significant, a forced upload is required to refresh the cache and reset the lifetime cycle. By introducing the lifetime cap threshold as an independent second condition for triggering the upload, a hard constraint on the maximum number of reuse steps is set for cache activation. When the accumulated cache lifetime reaches the cap, a forced upload is triggered, effectively preventing the cache from expiring indefinitely due to the score continuously falling below the upload change threshold over time. This provides a safety net for the long-term stable convergence of the model.
[0030] The results of the first and second judgment conditions are logically ORed to comprehensively determine the upload gating signal corresponding to the current training step. If the first judgment condition is met (time change score is greater than upload change threshold), or the second judgment condition is met (cache lifetime reaches the upper limit threshold), the logical OR operation result is true, and an upload gating signal with the value of upload signal is generated. This upload signal is a binary variable, and a value of 1 indicates that the current training step needs to upload the current boundary activation to the server. Only when neither the first nor the second judgment condition is met, i.e., the time change score is not greater than the upload change threshold and the cache lifetime has not reached the upper limit threshold, the logical OR operation result is false, and an upload gating signal with the value of skip signal is generated. The skip signal is also a binary variable, and a value of zero indicates that the current training step does not need to upload the current boundary activation, and the server continues to reuse the existing cache activation to complete this round of training. The triggering of any condition drives the execution of the upload action, and the skip is only executed when both conditions indicate that the current cache can be safely reused, ensuring that the safety boundary of training quality is not sacrificed while maximizing communication savings.
[0031] In addition, the upload change threshold and lifetime limit threshold are parameters that can be configured independently by the server for each client, enabling the gating strategy to fully adapt to the heterogeneous characteristics of different clients in federated learning in terms of data distribution stability, local data volume and communication conditions, and to achieve differentiated adaptive control.
[0032] The uploading gate signal in the above process can be determined by the following formula: , This represents the upload gating signal for client i at the t-th training step. It is a binary variable, with a value of 1 indicating an upload signal and a value of 0 indicating a skip signal. This is the upload change threshold, also known as the gate threshold. Its value ranges from [0,1]. It is set independently by the server for each client and dynamically adjusted. It is used to determine whether the current activation change level has reached the threshold requiring uploading. Represents the current cache lifetime for client i, which is a non-negative integer. Records the number of training steps that the client's activation data cached on the server has been continuously reused since its generation or the most recent update. The initial value is zero. This represents the maximum cache lifetime for client i. It is a positive integer and is set independently by the server for each client during the initialization phase based on the total number of global training rounds and the expected model convergence speed. It is used to limit the maximum number of training steps that a single cached active data can be reused continuously. Based on the determination criteria of activation change, an upload is triggered when the time change score exceeds the upload change threshold. The upload is triggered based on cache freshness. When the cache lifespan reaches its limit, the upload is forcibly activated. The two conditions are logically ORed, meaning that an upload signal is generated when either condition is met. A skip signal is generated only when neither of the following conditions is met: the time change score is no greater than the upload change threshold and the cache lifetime has not reached the lifetime limit threshold. 0.
[0033] At this point, the target client has completed the upload gating determination process based on the current activation summary and cache status. This process is executed independently on the client's local machine, with minimal metadata communication with the server only when querying cached data. By quantitatively calculating the time-varying score, the decision to upload or not is based on the actual difference between the current activation and the cached activation. This ensures that communication savings come from the real redundancy of the training data representation rather than a fixed, artificially set period. This fundamentally avoids the dual drawbacks of fixed strategies, which execute invalid uploads when activation is stable and skip critical updates when activation changes abruptly. By introducing cache lifetime as an independent supplementary condition for upload decision, a safety constraint of the maximum number of reuse steps is set for cached activation. When the cache lifetime accumulates to the upper limit, upload is forcibly triggered, effectively preventing the cache from expiring indefinitely due to the changing score continuously falling below the threshold. This provides a guarantee for the long-term stable convergence of the model. The calculation of the time-varying score and the gating decision are deployed locally on the client side. The server only needs to return lightweight cache metadata, reducing communication overhead and avoiding the inherent communication cost of the client needing to upload the complete activation for the server to perform quality evaluation in traditional server-side centralized decision-making. At the same time, the server independently maintains cache lifetime statistics for each client, refining the granularity of cache freshness control to the individual client level. This fully adapts to the heterogeneous characteristics of different client data distributions and update frequencies in federated learning.
[0034] Step S103: Based on the upload gating signal, determine the current upload data to the server for the current training step, and send it to the server to update the network parameters of the high-level network model on the server.
[0035] During the uplink communication process of split federated learning, after the client completes the upload gating decision, it needs to perform the corresponding data transmission operation based on the decision result. Based on this upload gating signal, the current upload data for the current training step is determined to be sent to the server. The specific implementation process is as follows: When the upload gating signal is the upload signal, the currently uploaded data is determined to be the current boundary activation, the current activation summary, and the current cache version, and is uploaded to the server. Based on the current boundary activation, the pending activation data of the high-level network model on the server is determined.
[0036] In one embodiment of this specification, after the upload gating signal is generated, if the upload gating signal is the upload signal (i.e., the upload gating signal has a value of one), it indicates that the current training step should execute the upload branch. The current boundary activation and current activation summary, calculated and temporarily stored in step S101, are read from the client's local memory. Simultaneously, the currently stored cache version number is read from local memory. The cache version number is a local copy of the version number field in the corresponding cache entry for the target client, stored on the server side. The client updates this version number synchronously with the server after each successful upload of a new activation. The initial value is set to zero by the server during the initialization phase. Each time the cache is refreshed, the server increments the version number and feeds it back to the client via the downlink to update the local copy. The read current boundary activation, current activation summary, and current cache version number are packaged according to a preset uplink message format to generate an upload message data packet. This packaged upload message data packet is sent to the server via the uplink network link through the physical communication interface. After receiving the upload message data packet, the server performs data unpacking to extract the current boundary activation, current activation summary, and current cache version number. In one example, the server can verify whether the received cache version number matches the locally stored cache version number of the same client. If they match, the upload is considered valid. After confirming the data's validity, the received current boundary activation is used as the activation data to be used in the higher-level network model. That is, the current boundary activation tensor is used as the forward propagation input data for the server's higher-level model in the current training step.
[0037] When the upload gating signal is the skip signal, the currently uploaded data is determined to be a skip flag and uploaded to the server. The cached activation data in the current client activation cache data corresponding to the target client is used to determine the pending activation data of the higher-level network model.
[0038] In one embodiment of this specification, if the upload gating signal is the skip signal, i.e., the upload gating signal value is zero, it indicates that the current training step should execute a skip branch, generating a lightweight message data packet containing a skip flag. The skip flag is a preset identifier constant used to indicate to the server that no new boundary activation data needs to be uploaded in this training step, and the server should reuse the historical activation data already cached by the client. The lightweight message data packet is sent to the server via the uplink network link. After receiving the lightweight message data packet, the server performs a data unpacking operation, reads the skip type code from the message type identifier field, and then determines that the cached activation data needs to be reused as the pending activation data for the current training step. The server indexes the cache entry corresponding to the target client from the server's memory cache table, and reads the stored cached activation data from the cache entry. The cached activation data is the boundary activation data sent to the server by the target client during the most recent execution of the upload branch, which has been persistently stored in the cache entry by the server. The read cached activation data is used as the pending activation data for the high-level network model, that is, the cached activation tensor is used as the forward propagation input data of the server's high-level model in the current training step.
[0039] In the upload branch, the current boundary activation is bound to the current activation summary and the current cache version number for transmission. This allows the server to obtain the summary for subsequent change comparison and the version number for cache consistency verification when receiving a new activation. A single upload completes the update of cache content, refresh of cache summary, and synchronization of cache version number, avoiding the metadata synchronization process that requires multiple round trips and reducing the number of communication interactions required for cache updates. In the skip branch, only lightweight markers are transmitted, effectively reducing the communication overhead of the skip branch and creating a significant difference in communication volume compared to the upload branch. This achieves a dynamic match between communication cost and training data update requirements. By explicitly defining the method for determining the activation data to be used for each branch, the upload branch uses the newly uploaded current boundary activation, and the skip branch uses the cached activation data in the cache item. This allows the server to determine the input source for the current training step under any circumstances. This avoids the uncertainty and latency caused by the server needing to perform additional cache retrieval and version verification operations under the skip branch in the existing scheme. This makes the execution path of cache reuse have predictable latency and a deterministic data source. At the same time, under the skip branch, the server directly reads the cached activation data in the cache item as the activation data to be used, so that the cache lifetime naturally increases in subsequent steps under this branch, providing accurate state input for the closed-loop control of cache freshness.
[0040] In one embodiment of this specification, the activation data to be used is fed as an input tensor into the server-side high-level network model to perform forward propagation calculation. It should be noted that the server-side high-level network model is a neural network composed of all network layers after the preset splitting of the complete global model. According to the network layer order of the high-level network model, the input activation tensor to be used is passed through matrix multiplication and nonlinear activation operations of each network layer in turn, and propagated forward layer by layer until the output layer. The predicted output tensor of the current training step is obtained at the output layer. The predicted output tensor is the probability distribution prediction result of the model for the category to which the input sample belongs.
[0041] Subsequently, the true labels of the samples are read from the training samples corresponding to the activation data to be used. These true labels are the annotation information used by the target client as local training samples when generating the current boundary activation. The annotation information is uploaded to the server along with the activation by the client, or stored in the cache by the server when caching the activation. The server processor calls a preset loss function to calculate the difference between the predicted output tensor and the true label. The loss function can be the cross-entropy loss function or the mean squared error loss function commonly used in classification tasks. The scalar loss value of the current training step is calculated, and the loss value quantifies the degree of deviation between the model prediction and the true label.
[0042] After obtaining the loss value, the backpropagation algorithm is initiated. The gradient of the loss value relative to the parameters of each network layer is calculated layer by layer in reverse order of the high-level network model hierarchy. Starting from the output layer, the gradient of the output layer is calculated based on the derivative of the loss function with respect to the activation values of the output layer. This gradient is then propagated towards the input direction to the boundary of the cutting layer using the chain rule. During propagation, the gradient tensor corresponding to the parameters within each network layer is calculated sequentially. When the backpropagation calculation reaches the preset cutting layer, the gradient of the loss value relative to the activation data to be used is additionally calculated. This gradient is the boundary gradient, representing the sensitivity of the loss value to the input activation. This boundary gradient is returned to the client as feedback information in subsequent steps for the client to update the local low-level model parameters. After completing the gradient calculation of the parameters within each network layer, the parameters of each network layer of the high-level network model are updated according to a preset server-side optimization algorithm. This optimization algorithm can be stochastic gradient descent or a variant thereof. The new parameter values of each network layer are obtained by subtracting the product of the learning rate and the gradient tensor of that layer from the current parameter values of each network layer. The new parameter values are then written into the parameter storage area of the corresponding network layer in the server memory, overwriting the original parameter values, thus completing the parameter update of the high-level network model.
[0043] After determining the network parameters for updating the high-level network model in step S103, the method further includes: When the upload gate signal is the upload signal, the server resets the current cache lifetime to its initial value, updates the cache activation data with the current boundary activation, updates the cache activation summary with the current activation summary, and increments the cache version number. Specifically, if the upload gate signal is the upload signal (i.e., the upload gate signal value is 1), it indicates that the current training step has executed the upload branch. The value of the current cache lifetime field in the cache item is directly assigned to the initial value. The initial value is set during the system initialization phase and stored in the server configuration. It can be zero, indicating that the cache activation data is fresh data that has just been refreshed and has not been reused by any subsequent training steps. At the same time, the received current boundary activation tensor overwrites the cache activation data field in the cache item, that is, the boundary activation newly uploaded by the client in this training step replaces the original historical activation tensor in the cache item, so that the cache activation data is updated to the latest version. The received current activation summary vector overwrites the cache activation summary field in the cache item, that is, the activation summary newly uploaded by the client in this training step replaces the original historical summary vector in the cache item, so that the cache activation summary and the updated cache activation data maintain a correspondence. The cache version number field in the cache entry is incremented by one, i.e., an auto-increment operation is performed. This cache version number is a non-negative integer, initially set to zero, and increments with each upload branch execution. It is used to identify the updated version of the cached active data, allowing the server and client to verify the consistency of their cache states by comparing the version numbers. The update operations of the above four fields are executed atomically within the server processor, meaning that the update process will not be interrupted by operations in other training steps, ensuring that the fields of the cache entry always maintain a consistent state.
[0044] When the upload gating signal is the skip signal, the server increments the current cache lifetime by one to update it, while keeping the cache activation data, cache activation summary, and cache version number unchanged. Specifically, if the upload gating signal is the skip signal (i.e., the upload gating signal value is 0), it indicates that the current training step has executed a skip branch. No modifications are made to the cache activation data field, cache activation summary field, and cache version number field; that is, the values of these three fields remain exactly the same as before the start of the current training step. The cache activation data is still the historical activation tensor written during the most recent upload branch, the cache activation summary is still the corresponding historical summary vector, and the cache version number remains unchanged. Only the current cache lifetime field in the cache entry is incremented by one, i.e., an auto-increment operation is performed, indicating that the cache activation data has been reused once by the server's higher-level network model in the current training step. The reuse count is incremented by 1. The incremented cache lifetime is read in the gating decision of the next training step and compared with the lifetime upper limit threshold to determine whether the cache has reached the critical state requiring a forced refresh.
[0045] By atomically binding cache lifetime reset, cache data update, and cache version number increment to the upload branch of the upload gating signal, and by only incrementing the cache lifetime while keeping other fields unchanged under the skip branch, the update of the cache lifetime is kept consistent with the branch decision of the upload gating signal. By synchronously updating the cache activation data, cache activation summary, and cache version number under the upload branch, all three core fields of the cache item are refreshed to the latest state in a single atomic operation, avoiding inconsistencies caused by asynchronous field updates and ensuring the correspondence between the cache activation data and its summary. Simultaneously, the version number increment provides a unique version identifier for each cache refresh, providing a reliable basis for cache version verification between the client and server. Furthermore, by keeping the cache activation data and summary unchanged while only incrementing the cache lifetime under the skip branch, a forced upload is triggered in subsequent training steps when the cache lifetime accumulates to the upper limit threshold. This ensures that the cache activation data, regardless of its score changes, will be forcibly refreshed after reaching the preset reuse limit, guaranteeing long-term stability of training quality.
[0046] In the cache reuse process of decomposed federated learning, although the safety boundary of cache reuse is controlled by a dual-condition joint determination of the upload change threshold and the lifetime cap threshold, in actual training, when the data distribution undergoes slow and continuous concept drift, the activation change score of each training step may not exceed the upload change threshold, resulting in the continuous generation of skip signals. Although the cache lifetime is accumulating, it has not yet reached the lifetime cap threshold, so it cannot trigger a forced upload based on the lifetime cap. The cumulative effect of this slow drift is manifested as the validation loss showing a monotonically increasing trend in multiple consecutive training steps, but observing the instantaneous change of activation in each frame alone is insufficient to trigger the upload condition.
[0047] To address the aforementioned technical issues, this embodiment maintains a continuous skip counter for each client on the server side. When the number of consecutive skips reaches a preset upper limit, linear regression trend analysis is performed on the validation loss sequence. When the loss shows a continuous upward trend, a forced upload command is triggered, thereby accurately identifying and intervening in training degradation caused by slow drift. The specific implementation process is as follows: The server maintains a consecutive skip counter for each target client. It should be noted that this consecutive skip counter is an integer variable maintained independently in the server's memory for each participating target client. It records the number of consecutive training steps the client has taken since the last execution of the upload branch. Its initial value is set to zero during system initialization and stored in the server's client state table, associated with the target client's device identifier.
[0048] After the parameter update is completed in the current training step, the message type identifier field is read from the received message data packet to determine the message type of the current training step. If the message type identifier field is a skip type code, it means that the server received a skip flag rather than complete uploaded data in the current training step. Then, the current value of the consecutive skip counter corresponding to the target client is read, incremented by one, and written back to the storage location of the consecutive skip counter, completing the increment operation of the consecutive skip counter. That is, whenever the server receives a skip flag from the target client in the current training step, the consecutive skip counter for that target client is incremented by 1 based on the previous training step.
[0049] If the message type identifier field is an upload type code, it means that the server received the complete data packet containing the specified upload data, namely the current boundary activation, the current activation summary, and the current cache version number, in the current training step. In this case, the current value of the continuous skip counter corresponding to the target client is directly assigned to zero, i.e., a reset operation. This means that the client has interrupted the continuous skip sequence by executing the upload branch. That is, whenever the server receives the specified upload data from the target client in the current training step, the continuous skip counter of the target client is reset to 0 based on the previous training step.
[0050] After each update of the consecutive skip counter, the updated value is read and compared with the system's preset consecutive skip limit. This limit is a preset positive integer, set by the server during system initialization based on the expected sampling frequency of the validation loss and the model's convergence speed. If the consecutive skip limit is less than the lifetime limit, it serves as an early warning system, intervening before the cache expires. Its specific value is preset in the system configuration file and loaded into the server memory before training begins. If the updated consecutive skip counter value has not yet reached the consecutive skip limit, the monitoring process for the current training step ends, awaiting message processing for the next training step.
[0051] When the consecutive skip counter reaches the preset consecutive skip limit, the linear regression slope of the global validation loss within the most recent training steps of that consecutive skip limit is calculated. Specifically, when the updated consecutive skip counter value has reached or exceeded the consecutive skip limit, the global validation loss sequence corresponding to the target client within the most recent training steps of that consecutive skip limit is read from the server's validation log storage. The validation loss sequence is a sequence of scalar values calculated and recorded in the validation log after the server completes the forward propagation of the high-level network in each training step. Each training step corresponds to one loss value, and the sequence is arranged in ascending order of the training step index. Using the training step index as the independent variable and the corresponding validation loss value as the dependent variable, the least squares method is used to perform linear regression fitting on the loss sequence to calculate the linear regression slope.
[0052] In one example, the linear regression slope is calculated as follows: Calculate the mean of the independent variable, i.e., the training step index, to obtain the mean of the training step index; calculate the mean of the dependent variable, i.e., the validation loss value, to obtain the mean of the validation loss value; then calculate the deviation of each training step index from the mean of the training step index; calculate the deviation of the corresponding validation loss value from the mean of the validation loss value; divide the sum of the products of the two deviations by the sum of the squares of the deviations of the training step index from the mean of the validation loss value; the quotient is the linear regression slope. A positive value indicates that the validation loss increases with the number of training steps, a negative value indicates that the validation loss decreases with the number of training steps, and a zero value indicates that the validation loss has no obvious trend change.
[0053] If the linear regression slope is positive, it indicates that the validation loss is continuously increasing. A forced upload instruction is then generated for the target client to force the upload gating signal to be set as the upload signal in the next training step, thus forcing the target client to upload the boundary activation corresponding to the next training step. If the linear regression slope is greater than zero, it indicates that the target client's validation loss has been continuously increasing within the last consecutive training steps skipped up to the maximum number of times. This increasing trend indicates that the current cached activation data has gradually deviated from the current data distribution due to continuous slow drift. Continuing to reuse cached activations will further degrade model performance. In this case, a forced upload instruction is generated for the target client. The forced upload instruction is a control message containing the target client device identifier and instruction type code, indicating that the upload gating signal for the target client should be forcibly set to the upload signal in the next training step and sent to the target client via the downlink. Before the next training step begins, the target client processor parses the received downlink message, reads the forced upload instruction from it, and uses this instruction as the highest priority overriding condition when performing upload gating. That is, regardless of the time-varying score or the current cache lifetime determination, the upload gating signal is forcibly set to the upload signal to force the target client to upload the current boundary activation corresponding to the next training step. If the linear regression slope is not greater than zero, no forced upload instruction is generated, and the original gating logic remains unchanged. After generating and issuing the forced upload instruction, the target client's consecutive skip counter is reset to zero to avoid excessive intervention caused by triggering multiple forced upload instructions consecutively.
[0054] By recording the number of consecutive skips and using a preset upper limit as a prerequisite for triggering trend analysis, the computational overhead of performing regression analysis at every training step is avoided. This also ensures the perception window for slow drift has a defined statistical length, guaranteeing the reliability of trend analysis. Furthermore, by employing the linear regression slope as a quantitative indicator for trend determination and using continuous validation loss sequences rather than single-point loss values as the analysis object, normal random fluctuations during training and continuously deteriorating systematic trends can be accurately distinguished. This effectively avoids the problems of false triggering due to normal fluctuations or delayed responses due to improper threshold settings, which are common with static loss threshold schemes, thus improving the triggering accuracy and effectiveness of forced upload commands.
[0055] In adaptive communication optimization for split federated learning, the setting of the upload change threshold determines the trade-off between communication savings and training quality. A threshold that is too low will cause clients to upload activations too frequently, limiting the communication savings effect; a threshold that is too high may lead to excessive reuse of cached activations, degrading training quality. In existing solutions, the upload change threshold is usually set to a fixed value based on experience during system initialization and remains unchanged throughout the training process. This static configuration approach cannot adapt to the changing patterns of data distribution and model state during training.
[0056] To address the aforementioned issues, this specification's embodiments update the upload change threshold, specifically as follows: When the server receives a skip flag from the current target client and the consecutive reception count reaches the preset consecutive skip limit, the server calculates the current validation set accuracy corresponding to the current global model in each validation round. Based on this current validation set accuracy and the preset target accuracy, the accuracy error is calculated. Specifically, the consecutive skip limit Cmax is the same as in the previous steps and is a preset positive integer. After receiving a message from the target client in each training step, the current value of the consecutive skip counter corresponding to the target client is read. The update logic of the consecutive skip counter is not described here. The updated value of the consecutive skip counter is compared with the consecutive skip limit. Subsequent threshold adjustment for the current target client is triggered only for the current target client whose consecutive reception count has reached the preset consecutive skip limit. The scope of the adjustment operation is limited to the current target client that triggered the adjustment condition, rather than being broadcast to all clients participating in training. This ensures that the threshold adjustment is only performed when the cache has been reused consecutively for a preset number of times.
[0057] The global validation loss is calculated in each validation round, which is a preset validation period with a fixed number of training steps. The accuracy of the current validation set is obtained by statistically analyzing the proportion of correctly predicted samples to the total number of validation samples. The accuracy rate is a floating-point number between zero and one, while the preset target accuracy rate is read from the server configuration. Subtract the target accuracy from the current validation set accuracy to obtain the current accuracy error. A positive value indicates that the current performance has reached or exceeded the target, while a negative value indicates that the current performance has not yet reached the target.
[0058] The historical error sequence is obtained. Based on this sequence, a proportional term, an integral term, and a derivative term are calculated to determine the global threshold adjustment amount corresponding to the uploaded change threshold. The proportional term represents the current accuracy error, the integral term is the cumulative sum of historical accuracy errors, and the derivative term is the difference between the current accuracy error and the previous accuracy error. Specifically, the historical error sequence corresponding to the target client is read. Historical error sequences are stored in the server's client state table, recording the accuracy error values calculated by this client in previous verification rounds. The global threshold adjustment is calculated according to the PID control law. : Among them, the proportional term The integral term represents the current accuracy error. The differential term is the cumulative sum of historical accuracy errors. K represents the difference between the current accuracy error and the accuracy error of the previous round. p K i K d These are the preset proportional coefficient, integral coefficient, and derivative coefficient, set by the server during system initialization, respectively controlling the contribution weights of the current error, historical cumulative error, and error change trend to the adjustment amount; the global threshold adjustment amount. This reflects the unified adjustment direction and magnitude of the threshold for changes in uploads across all clients based on global verification performance.
[0059] Simultaneously, the time change score for each target client at each training step is obtained, and the average activation drift of each target client within a preset sliding window is calculated in each validation round, as well as the global average activation drift of multiple target clients. The time change score is the quantified activation change value calculated by the target client processor in the previous step and reported to the server with the upload message, and the average activation drift of each target client within a preset sliding window W is calculated in each validation round. : Where W is the preset sliding window length, a positive integer constant, set during system initialization; d i,k The time change score for target client i at the k-th training step; average activation drift. The arithmetic mean of the time change scores of the target client over the most recent W training steps represents the average magnitude of the activation change of the client in the current validation period. The global average activation drift is obtained by taking the arithmetic mean of the average activation drift of all target clients participating in training. .
[0060] By comparing the average activation drift of the current target client with the global average activation drift, the client drift bias adjustment is determined, and the drift relative coefficient is obtained by calculating the ratio of the average activation drift of the current target client to the global average activation drift. : Where ε is a preset minimum constant, a floating-point number greater than zero, used to prevent division by zero errors. The client-side drift bias adjustment amount is generated based on the drift relative coefficient. : , where μ is a preset drift bias intensity coefficient, which is set during the system initialization phase and is used to control the weight of the bias term in the final adjustment amount; For the target client i The current upload change threshold is determined. When the relative drift coefficient is >1, meaning the average activation drift of the client is greater than the global average, the client drift bias adjustment is negative, and a threshold reduction bias is applied to the client to make it more likely to trigger uploads to adapt to its more drastic data changes. When the relative drift coefficient is <1, meaning the average activation drift of the client is less than the global average, the client drift bias adjustment is positive, and a threshold increase bias is applied to the client to make it more inclined to skip uploads to save communication overhead.
[0061] Based on the global threshold adjustment and the client drift bias adjustment, the threshold adjustment corresponding to the current target client is determined. The global threshold adjustment and the client drift bias adjustment are algebraically superimposed to obtain the final threshold adjustment corresponding to the current target client.
[0062] The system reads the current upload change threshold of the target client, adds the adjusted threshold amount to the current upload change threshold to obtain the updated upload change threshold, and applies a limiting constraint to this updated threshold to a preset lower and upper threshold range before sending it to the target client before the next training step. The system reads the preset lower and upper thresholds, both preset values between zero and one, set during system initialization, to limit the adjustable minimum and maximum values of the upload change threshold, respectively. This limiting operation prevents the threshold from being adjusted to extreme values, which could severely degrade training quality or completely lose the communication-saving effect.
[0063] The updated upload change threshold is temporarily stored in the server's client status table, associated with the target client's device identifier, and used as the gating threshold for the current target client when performing upload gating decisions in subsequent training steps. Before the next training step begins, the updated upload change threshold is packaged into a downlink feedback message and sent to the target client along with feedback data such as boundary gradients. This allows the target client to use the updated threshold parameter when comparing the time change score with the updated upload change threshold in the next training step.
[0064] In the above technical solution, the threshold update adjustment operation is limited to the current target client that triggers the condition, preventing unnecessary global threshold changes from increasing communication overhead and interfering with training stability. The global threshold adjustment amount is determined by PID control to verify accuracy error, ensuring that the client's threshold adjustment direction is consistent with the global model performance convergence direction, eliminating steady-state error and suppressing oscillations. The client drift bias adjustment amount is determined by the deviation between the individual activation change amplitude and the global average level, giving the threshold adjustment the flexibility to adapt to client differences. Clients with drastic data fluctuations receive a threshold reduction bias, thus uploading more frequently to maintain cache freshness, while clients with stable data receive a threshold increase bias, thus skipping more aggressively to save communication overhead. The two work together to ensure global convergence while taking into account client heterogeneity.
[0065] The above-described at least one technical solution adopted in the embodiments of this specification can achieve the following beneficial effects: By introducing activation summaries as a compressed representation of boundary activations, high-dimensional boundary activations are compressed into low-dimensional summary vectors. The current summary is compared with the cached summary locally on the client side to determine the degree of activation change, generating an upload gating signal. This directly links communication overhead to the actual amount of information change, filtering out redundant information components in the boundary activation sequence in the time domain and transmitting only the added information gain relative to the historical cache. This achieves communication savings during the training stationary phase and ensures timely information updates during data mutation phases, significantly compressing uplink communication while allowing negligible information loss. The client generates the gating signal based on the difference between the current activation summary and the historical cached summary, enabling real-time upload decisions at the data generation end. This eliminates redundant uplink transmission in the communication path. The client generates the upload gating signal locally before deciding which data to upload, meaning most training steps only require transmitting... By skipping markers instead of full activation data, the reduced communication data volume significantly decreases the system's network bandwidth requirements. Differentiated uploaded data content and server-side activation sources are determined based on gating signals, allowing the amount of uplink data in each training step to be dynamically determined by the degree of activation change rather than being fixed to a full activation tensor. This achieves an adaptive match between communication overhead and data update requirements, ensuring the server receives deterministic training data sources in any branch. It avoids the risk of server misuse or expired activations due to a lack of explicit reuse instructions, thereby reducing the risk of gradient error accumulation and training quality degradation caused by cache expiration and reuse during sudden data distribution changes at the source level. This fundamentally solves the technical problem of balancing communication overhead and training quality in existing split federated learning, enabling the system to minimize redundant uplink communication while maintaining model convergence performance.
[0066] Figure 2 A flowchart illustrating another adaptive activation upload split federated learning method provided in the embodiments of this specification is shown below. Figure 2As shown, the data interaction and temporal relationship between the client and server are illustrated. The system is divided into a client-side time-aware upload region 100 and a server-side cache and high-level training region 400, which communicate with each other through time-based decisions and segmentation boundary messages 300. In the client-side time-aware upload region 100, each target client participating in training deploys a client-side low-level model 110. This client-side low-level model is the network portion of the global model before the preset segmentation layer, used to receive local training samples and perform forward propagation to extract features. The client processor inputs local batch data into the client-side low-level model 110 for forward propagation. The client-side low-level model 110 generates the current boundary activation Ai,t at the preset segmentation layer. The boundary activation is the intermediate feature representation of the input sample after low-level feature extraction. The client processor calls a preset summary generation function to process the current boundary activation Ai,t, generating a current activation summary Hi,t=Summary(Ai,t). The current activation summary is a low-dimensional compressed representation of the boundary activation, used to characterize the core features of the current activation. Simultaneously, the server maintains a client time state 130 for each target client. This client time state includes the corresponding cache activation summary Hcache, cache version number vi, current cache lifetime agei, upload change threshold τi, and lifetime cap threshold Ti. In the client time-aware upload region 100, the time change scorer 200 reads the current cache lifetime agei and training loss trend information from the client time state 130, compares the current activation summary Hi,t with the cache activation summary Hcache, and calculates a time change score di,t. This time change score quantifies the overall degree of change of the current activation relative to the cache activation.
[0067] The time decision module 210 in the time decision and segmentation boundary message 300 performs upload gating judgment based on the comparison results of the time change score di,t, the upload change threshold τi, and the current cache lifetime agei and the lifetime limit threshold Ti. Its judgment logic is as follows: if the time change score di,t is greater than the upload change threshold τi, or the current cache lifetime agei is greater than or equal to the lifetime limit threshold Ti, then it is determined that the cache needs to be refreshed, and an upload signal is generated; otherwise, a skip signal is generated. Based on the judgment result, the client processor sends a corresponding message to the server through the segmentation boundary message 300. When the judgment is determined to be an upload signal, the client packages the current boundary activation Ai,t, the current activation digest Hi,t, and the current cache version number vi into an upload message and sends it to the server; when the judgment is determined to be a skip signal, the client only sends a skip flag.
[0068] See Figure 2The server cache and high-level training area 400 are configured. The server maintains a per-client activation cache table 410 for each target client. This cache table stores the cache activation data Acache, cache activation digest Hcache, cache version number vi, current cache lifetime agei, and the most recent upload step lasti for each target client. The server processor determines the pending activation data for the current training step based on the received message type. If an upload message is received, the received current boundary activation is used as the pending activation data Aused,i,t, and the cache activation data Acache in the cache table is updated with this current boundary activation. The cache activation digest Hcache is updated with the current activation digest, the cache version number vi is incremented, and the cache lifetime agei is reset to zero. If a skip flag is received, the server processor directly reads the cache activation data Acache corresponding to the target client from the cache table as the pending activation data Aused,i,t, and increments the cache lifetime agei by one, keeping the cache activation data and cache version number unchanged. The server high-level and task loss module 430 inputs the determined pending activation data Aused,i,t into the server high-level model for forward propagation, obtains the predicted output and calculates the training loss, and then performs backpropagation to update the network parameters of the server high-level model.
[0069] The boundary gradient generation module 440 calculates the gradient of the training loss relative to the activation data to be used during backpropagation, obtaining the boundary gradient. This boundary gradient is then bound to the current cache version number vi and the reuse flag (whether the cache is reused). The gradient and version return module 330 returns a feedback message containing the boundary gradient, cache version number, and reuse flag to the target client via the downlink. The training feedback controller 450 continuously monitors the training loss trend, skip rate, and cache lifetime statistics to dynamically adjust the upload change threshold τi and lifetime cap threshold Ti for each client, forming a closed-loop threshold adaptive control. After receiving the returned boundary gradient, the client performs backpropagation through the client-side low-level update module 140 to update the parameters of the client-side low-level model, thus completing the full training process for the current training step.
[0070] In conclusion, Figure 2 The illustrated embodiment deploys the upload gating decision on the client side, allowing the client to autonomously decide whether to upload boundary activations based on the degree of activation change and cache lifetime status. Combined with the server-side cache management and differentiated waiting activation data determination mechanism, this achieves effective reduction of uplink communication overhead and joint assurance of training quality during the split federated learning training process.
[0071] In the embodiments described in this specification, the upload decision is driven by both the degree of change in boundary activation time and cache lifetime, reducing unnecessary full activation uploads. The server maintains cache, version, and lifetime statistics for each client, making the cache reuse process traceable. Loss fluctuation and forced refresh mechanisms reduce the risk of expired caches affecting training quality. Furthermore, unlike single-activation compression, it can be used in combination with tensor compression methods such as quantization and low-rank compression. The following is an experimental verification. The experiment uses WikiText-2 / GPT2-small to split the federated learning fine-tuning task into 4 layers, with 4 clients and a target threshold of 38% verification accuracy. Table 1 compares the cumulative boundary activation upload amount and upload skip rate required for different upload strategies to reach this threshold.
[0072] Table 1. Cumulative boundary activation uplinks required to achieve a given accuracy.
[0073]
[0074] Experimental results show that the cumulative boundary activation uplink amount required to reach the same accuracy threshold in the embodiments of this specification is the lowest, only 33.75% of that of the complete upload scheme in each step. Compared with fixed-interval skipping, the embodiments of this specification further reduce the upload amount before reaching the target accuracy through change detection; compared with random skipping, the gating basis in the embodiments of this specification comes from activation changes and cache lifetime, making the training process more controllable. In implementation, the change threshold and cache lifetime upper limit can be set according to the stability of client data. Too high a threshold will increase the risk of cache expiration, while too low a threshold will reduce communication savings; in actual deployment, the selective upload strategy can be constrained by the fluctuation of verification loss, the upper limit of cache age, and periodic forced refresh.
[0075] This specification also provides an adaptive activation upload split federated learning device, such as... Figure 3 As shown, the device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above-described method.
[0076] This specification also provides a non-volatile computer storage medium storing computer-executable instructions configured to perform the above-described method.
[0077] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, devices, and non-volatile computer storage media are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0078] The above description is merely one or more embodiments of this specification and is not intended to limit this specification. Various modifications and variations can be made to the one or more embodiments of this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of one or more embodiments of this specification should be included within the scope of the claims of this specification.
Claims
1. A split federated learning method with adaptive activation upload, characterized in that, The method includes: Obtain local training samples for each target client participating in training, and perform forward propagation on the target client based on the local training samples and the pre-obtained local low-level model to determine the current boundary activation corresponding to the current training step and determine the current activation summary. The upload gate signal corresponding to the current training step is determined by the current activation summary and the pre-acquired current client activation cache data corresponding to the target client. The upload gate signal includes an upload signal and a skip signal. Based on the upload gating signal, the current upload data for the current training step is determined and sent to the server to update the network parameters of the high-level network model on the server.
2. The adaptive activation upload split federated learning method according to claim 1, characterized in that, The upload gating signal corresponding to the current training step is determined by using the current activation summary and the pre-acquired current client activation cache data corresponding to the target client, specifically including: In the cache item corresponding to the target client pre-built on the server, the current client activation cache data is obtained, wherein the current client activation cache data includes cache activation data, cache activation summary, cache version number and current cache lifetime, and the cache lifetime is used to record the number of training steps in which the cache activation data is continuously reused; The time change score corresponding to the current training step is determined by using the current activation summary and the cached activation summary; Based on the time change score and the current cache lifetime, determine the upload gating signal corresponding to the current training step.
3. The adaptive activation upload split federated learning method according to claim 2, characterized in that, The time change score corresponding to the current training step is determined by using the current activation summary and the cached activation summary, specifically including: Calculate the cosine similarity between the current activation digest and the cached activation digest, and determine the first distance component based on the cosine similarity; Calculate the L2 normalized distance between the current activation digest and the cached activation digest, and determine the second distance component; The time change fraction is determined based on the first distance component and the second distance component.
4. The adaptive activation upload split federated learning method according to claim 2, characterized in that, Based on the time change score and the current cache lifetime, the upload gating signal corresponding to the current training step is determined, specifically including: Determine the upload change threshold and lifespan limit threshold corresponding to the target client; Determine whether the time change score is greater than the upload change threshold, and determine whether the current cache lifespan has reached the lifespan limit threshold; If the time change score is greater than the upload change threshold, or if the cache lifetime reaches the lifetime limit threshold, an upload signal is generated; If the time change score is not greater than the upload change threshold and the cache lifetime has not reached the lifetime limit threshold, a skip signal is generated.
5. The adaptive activation upload split federated learning method according to claim 1, characterized in that, Based on the upload gating signal, the currently uploaded data for the current training step to the server is determined, specifically including: When the upload gating signal is the upload signal, the currently uploaded data is determined to be the current boundary activation, the current activation summary, and the current cache version, and is uploaded to the server. Based on the current boundary activation, determine the pending activation data of the high-level network model on the server side; When the upload gating signal is the skip signal, the currently uploaded data is determined to be a skip flag and uploaded to the server. The pending activation data of the higher-level network model is determined based on the cached activation data in the current client activation cache data corresponding to the target client.
6. The adaptive activation upload split federated learning method according to claim 2, characterized in that, After determining the network parameters to be updated in the high-level network model, the method further includes: When the upload gate signal is the upload signal, the server resets the current cache lifetime to the initial value, updates the cache activation data with the current boundary activation, updates the cache activation summary with the current activation summary, and increments the cache version number. When the upload gating signal is the skip signal, the server increments the current cache lifetime by one to update the current cache lifetime, while keeping the cache activation data, the cache activation summary, and the cache version number unchanged.
7. The adaptive activation upload split federated learning method according to claim 1, characterized in that, After updating the network parameters of the high-level network model, the method further includes: The server maintains a continuous skip counter for each target client. Whenever the server receives a skip flag from the target client in the current training step, it increments the target client's consecutive skip counter by 1 based on the previous training step. Whenever the server receives the specified upload data from the target client in the current training step, the continuous skip counter of the target client is reset to 0 based on the previous training step. When the consecutive skip counter reaches the preset consecutive skip limit, calculate the linear regression slope of the global validation loss within the last training steps of the last consecutive skip limit. If the slope of the linear regression is positive, it is determined that the verification loss is on a continuous upward trend, so as to generate a forced upload instruction for the target client, which is used to force the upload gating signal to be set as the upload signal in the next training step, so as to force the target client to upload the boundary activation corresponding to the next training step.
8. The adaptive activation upload split federated learning method according to claim 1, characterized in that, After updating the network parameters of the high-level network model, the method further includes: When the number of consecutive receptions of the skip flag from the current target client received by the server reaches the preset consecutive skip limit, the server calculates the current validation set accuracy corresponding to the current global model in each validation round, and calculates the accuracy error based on the current validation set accuracy and the preset target accuracy. Obtain the historical error sequence, and calculate the proportional term, integral term and derivative term based on the historical error sequence to determine the global threshold adjustment amount corresponding to the upload change threshold. The proportional term is the current accuracy error, the integral term is the cumulative sum of historical accuracy errors, and the derivative term is the difference between the current accuracy error and the previous round accuracy error. Obtain the time change score of each target client at each training step, and calculate the average activation drift of each target client within a preset sliding window in each verification round, as well as the global average activation drift of multiple target clients; The client drift bias adjustment amount is determined by comparing the average activation drift of the current target client with the global average activation drift. The threshold adjustment amount corresponding to the current target client is then determined based on the global threshold adjustment amount and the client drift bias adjustment amount. The threshold adjustment amount is superimposed on the current upload change threshold to obtain the updated upload change threshold. The updated upload change threshold is then constrained to a preset lower threshold and upper threshold, so as to be sent to the current target client before the start of the next training step.
9. A split federated learning device with adaptive activation upload, characterized in that, The device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method as described in any one of claims 1-8.
10. A non-volatile computer storage medium storing computer-executable instructions, characterized in that, The computer-executable instructions are configured to perform the method as described in any one of claims 1-8.