CN114930347A - 用于无线边缘动态的分布式学习的系统和方法 - Google Patents
用于无线边缘动态的分布式学习的系统和方法 Download PDFInfo
- Publication number
- CN114930347A CN114930347A CN202080091716.0A CN202080091716A CN114930347A CN 114930347 A CN114930347 A CN 114930347A CN 202080091716 A CN202080091716 A CN 202080091716A CN 114930347 A CN114930347 A CN 114930347A
- Authority
- CN
- China
- Prior art keywords
- edge
- training
- clients
- client
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 387
- 238000012549 training Methods 0.000 claims abstract description 733
- 238000010801 machine learning Methods 0.000 claims abstract description 349
- 238000012545 processing Methods 0.000 claims abstract description 116
- 238000009826 distribution Methods 0.000 claims description 249
- 238000004891 communication Methods 0.000 claims description 223
- 239000011159 matrix material Substances 0.000 claims description 181
- 230000006870 function Effects 0.000 claims description 142
- 230000005540 biological transmission Effects 0.000 claims description 88
- 230000015654 memory Effects 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 56
- 238000003860 storage Methods 0.000 claims description 56
- 238000013507 mapping Methods 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 28
- 230000004913 activation Effects 0.000 claims description 12
- 230000001902 propagating effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 127
- 230000000875 corresponding effect Effects 0.000 description 89
- 238000004422 calculation algorithm Methods 0.000 description 84
- 238000005070 sampling Methods 0.000 description 75
- 238000013528 artificial neural network Methods 0.000 description 40
- 238000004220 aggregation Methods 0.000 description 33
- 230000002776 aggregation Effects 0.000 description 32
- 238000013459 approach Methods 0.000 description 24
- 239000002131 composite material Substances 0.000 description 22
- 238000007726 management method Methods 0.000 description 22
- 238000012417 linear regression Methods 0.000 description 20
- 239000000243 solution Substances 0.000 description 20
- 239000013598 vector Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000001133 acceleration Effects 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 16
- 239000000126 substance Substances 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 230000006855 networking Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 108091006146 Channels Proteins 0.000 description 10
- 230000004931 aggregating effect Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 101100408036 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PGU1 gene Proteins 0.000 description 8
- 101100042789 Schizosaccharomyces pombe (strain 972 / ATCC 24843) psm1 gene Proteins 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 8
- 101000581507 Homo sapiens Methyl-CpG-binding domain protein 1 Proteins 0.000 description 7
- 101000812677 Homo sapiens Nucleotide pyrophosphatase Proteins 0.000 description 7
- 101001134861 Homo sapiens Pericentriolar material 1 protein Proteins 0.000 description 7
- 102100027383 Methyl-CpG-binding domain protein 1 Human genes 0.000 description 7
- 102100039306 Nucleotide pyrophosphatase Human genes 0.000 description 7
- 238000012937 correction Methods 0.000 description 7
- 238000012886 linear function Methods 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 7
- 238000000638 solvent extraction Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000011478 gradient descent method Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 102100022765 Glutamate receptor ionotropic, kainate 4 Human genes 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000007774 longterm Effects 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000010187 selection method Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 101100512186 Pisum sativum HMM1 gene Proteins 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 239000000654 additive Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- 238000009827 uniform distribution Methods 0.000 description 4
- 241001522296 Erithacus rubecula Species 0.000 description 3
- 101710112358 Glutamate receptor ionotropic, kainate 4 Proteins 0.000 description 3
- 101100177143 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) HAA1 gene Proteins 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 230000000116 mitigating effect Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 102100022734 Acyl carrier protein, mitochondrial Human genes 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 101100456566 Caenorhabditis elegans dpy-22 gene Proteins 0.000 description 2
- 102100022761 Glutamate receptor ionotropic, kainate 5 Human genes 0.000 description 2
- 102100036716 Glycosylphosphatidylinositol anchor attachment 1 protein Human genes 0.000 description 2
- 101000678845 Homo sapiens Acyl carrier protein, mitochondrial Proteins 0.000 description 2
- 101000903333 Homo sapiens Glutamate receptor ionotropic, kainate 4 Proteins 0.000 description 2
- 101001072432 Homo sapiens Glycosylphosphatidylinositol anchor attachment 1 protein Proteins 0.000 description 2
- 101000578940 Homo sapiens PDZ domain-containing protein MAGIX Proteins 0.000 description 2
- 241000764238 Isis Species 0.000 description 2
- 101100512532 Mus musculus Atf7ip2 gene Proteins 0.000 description 2
- 102100028326 PDZ domain-containing protein MAGIX Human genes 0.000 description 2
- 101150107050 PSA2 gene Proteins 0.000 description 2
- 101100127688 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FAA1 gene Proteins 0.000 description 2
- 101100313150 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) TBS1 gene Proteins 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 101100438229 Solanum tuberosum PCM4 gene Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000002135 phase contrast microscopy Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- ZQRIEUJRFFXCOE-UHFFFAOYSA-N 1-(2-phenylethyl)triazolo[4,5-c]pyridine;hydrochloride Chemical compound Cl.N1=NC2=CN=CC=C2N1CCC1=CC=CC=C1 ZQRIEUJRFFXCOE-UHFFFAOYSA-N 0.000 description 1
- DSPDJPFEBQTXDO-UHFFFAOYSA-N 1-[2-(3-pyrrolidin-1-ylprop-1-ynyl)piperidin-1-yl]ethanone Chemical compound CC(=O)N1CCCCC1C#CCN1CCCC1 DSPDJPFEBQTXDO-UHFFFAOYSA-N 0.000 description 1
- AYHYONJCFYEXBP-OUJCMCIWSA-N 16-[[(2r,3s,4s,5r)-5-(4-amino-2-oxopyrimidin-1-yl)-3,4-dihydroxyoxolan-2-yl]methoxy-hydroxyphosphoryl]oxyhexadecanoic acid Chemical compound O=C1N=C(N)C=CN1[C@H]1[C@@H](O)[C@H](O)[C@@H](COP(O)(=O)OCCCCCCCCCCCCCCCC(O)=O)O1 AYHYONJCFYEXBP-OUJCMCIWSA-N 0.000 description 1
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101100135609 Arabidopsis thaliana PAP10 gene Proteins 0.000 description 1
- 101100344900 Caenorhabditis elegans let-19 gene Proteins 0.000 description 1
- 102100027280 Fanconi anemia group A protein Human genes 0.000 description 1
- 108010089143 GMM2 Proteins 0.000 description 1
- 102100022197 Glutamate receptor ionotropic, kainate 1 Human genes 0.000 description 1
- 102100022758 Glutamate receptor ionotropic, kainate 2 Human genes 0.000 description 1
- 102100022767 Glutamate receptor ionotropic, kainate 3 Human genes 0.000 description 1
- 101710112356 Glutamate receptor ionotropic, kainate 5 Proteins 0.000 description 1
- 101000900515 Homo sapiens Glutamate receptor ionotropic, kainate 1 Proteins 0.000 description 1
- 101000903346 Homo sapiens Glutamate receptor ionotropic, kainate 2 Proteins 0.000 description 1
- 101000903337 Homo sapiens Glutamate receptor ionotropic, kainate 3 Proteins 0.000 description 1
- 101000903313 Homo sapiens Glutamate receptor ionotropic, kainate 5 Proteins 0.000 description 1
- 101000595526 Homo sapiens T-box brain protein 1 Proteins 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 101150015653 IAA1 gene Proteins 0.000 description 1
- 101150028662 IAA13 gene Proteins 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241001067739 Lotis Species 0.000 description 1
- 235000006679 Mentha X verticillata Nutrition 0.000 description 1
- 235000002899 Mentha suaveolens Nutrition 0.000 description 1
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 1
- 101100353526 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) pca-2 gene Proteins 0.000 description 1
- 101100271175 Oryza sativa subsp. japonica AT10 gene Proteins 0.000 description 1
- 101100492653 Oryza sativa subsp. japonica AT15 gene Proteins 0.000 description 1
- 108091033411 PCA3 Proteins 0.000 description 1
- 101150045091 PSA3 gene Proteins 0.000 description 1
- 241000233805 Phoenix Species 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 101100512187 Pisum sativum HMM2 gene Proteins 0.000 description 1
- 201000007902 Primary cutaneous amyloidosis Diseases 0.000 description 1
- 101100396930 Pseudomonas aeruginosa imm1 gene Proteins 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 101100127690 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FAA2 gene Proteins 0.000 description 1
- 101100127691 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FAA3 gene Proteins 0.000 description 1
- 101100127692 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FAA4 gene Proteins 0.000 description 1
- 101100095978 Schizosaccharomyces pombe (strain 972 / ATCC 24843) psm3 gene Proteins 0.000 description 1
- 101100438245 Solanum tuberosum PCM8 gene Proteins 0.000 description 1
- 101100129180 Streptococcus pyogenes serotype M5 emm5 gene Proteins 0.000 description 1
- 102100036083 T-box brain protein 1 Human genes 0.000 description 1
- 101100137869 Trypanosoma brucei brucei PSA4 gene Proteins 0.000 description 1
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 230000009429 distress Effects 0.000 description 1
- 101150097474 emm6 gene Proteins 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004680 force modulation microscopy Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012994 industrial processing Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000005381 magnetic domain Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 229920003087 methylethyl cellulose Polymers 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 101150033318 pcm2 gene Proteins 0.000 description 1
- 101150103044 pcm3 gene Proteins 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 208000014670 posterior cortical atrophy Diseases 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Neurology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
一种边缘计算节点的装置、系统、方法和机器可读介质。该装置包括:处理器,用于执行联邦机器学习训练的轮次,包括:处理来自边缘计算网络的多个客户端的客户端报告;从多个客户端选择客户端候选集合,以用于联邦机器学习训练的时期;使全局模型发送到客户端候选集合;以及对客户端候选集合执行所述联邦机器学习训练。处理器可以执行联邦机器学习训练的轮次,包括:从每一个选定客户端获得经编码训练数据;以及对经编码训练数据执行机器学习训练。
Description
相关申请的交叉引用
本申请要求以下的权益和优先权:题为“JOINT COMPUTING,COMPUTE-COMMUNICATION AWARE AND DATA QUALITY CLIENT SELECTION AND IMPORTANCE SAMPLINGMETHODS IN FEDERATED LEARNING EDGE COMPUTING DEPLOYMENTS”并于2020年2月3日提交的美国临时专利申请No.62/969,576;题为“DISTRIBUTED MACHINE LEARNING IN EDGECOMPUTING NETWORKS”并于2020年2月3日提交的美国临时专利申请No.62/969,583;题为“DIFFERENTIALLY PRIVATE CODED FEDERATED LEARNING”并于2020年10月2日提交的美国临时专利申请No.63/087,069;和题为“SYSTEMS AND METHODS FOR CODED FEDERATEDLEARNING WITH IMPORTANCE SAMPLING AND/OR WITH DIFFERENT CODING REDUNDANCIESFOR CLIENTS IN EDGE COMPUTING DEPLOYMENTS”并于2020年12月4日提交的美国临时专利申请号63/121,852,其全部公开内容通过引用并入本文。
背景技术
一般而言,边缘计算指代在更靠近网络的“边缘”或“边缘”集合的位置处的计算和资源的实现、协调和使用。这种布置的目的在于(尤其是与传统云计算相比)改进总拥有成本,减少应用和网络时延,减少网络回传业务和关联能源消耗,改进服务能力,并改进针对安全或数据隐私要求的合规性。可以执行边缘计算操作的组件(“边缘节点”)可以驻留在系统架构或ad hoc服务所需的任何位置中(例如,高性能计算数据中心或云设施;所指定的边缘节点服务器、企业服务器、路边服务器、电信中心局;或消费边缘服务的正受服务的本地或边缘处设备中)。
已经适用于边缘计算的应用包括但不限于传统网络功能的虚拟化(例如,运营电信或互联网服务)以及下一代特征和服务的引入(例如,支持5G网络服务)。有望广泛利用边缘计算的使用情况包括联网自动驾驶汽车、监控、物联网(IoT)设备数据分析、视频编码和分析、位置感知服务、智能城市中的设备感测以及许多其他网络和计算密集型服务。
在一些场景中,边缘计算可以提供或托管类似云的分布式服务,以在许多类型的存储和计算资源当中为应用、所协调的服务实例和机器学习(例如,联邦机器学习)提供编排和管理。随着端点设备、客户端和网关尝试在更靠近网络的边缘的位置处访问网络资源和应用,边缘计算也预计与对于IoT和雾/分布式连网配置开发的现有使用情况和技术紧密集成。
需要机制以解决在具有分布式数据的无线边缘网络上开发全局准确学习模型以及实时并使用异构、移动和动态改变的计算、通信和数据资源部署的在线分布式算法的挑战。
附图说明
在不一定按比例绘制的附图中,相同标号可以在不同视图中描述相似组件。具有不同字母后缀的相同数字可以表示相似组件的不同实例。附图通过示例而非限制的方式总体上示出本文件中讨论的各种实施例。
图1示出用于边缘计算的边缘云配置的概览。
图2示出端点、边缘云和云计算环境之间的操作层。
图3示出用于边缘计算系统中的连网和服务的示例方法。
图4示出在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
图5示出在边缘计算系统中部署容器的各种计算布置。
图6示出涉及对边缘计算系统中的应用的移动访问的计算和通信使用情况。
图7示出根据ETSI多接入边缘计算(MEC)规范布置的示例移动边缘系统参考架构。
图8提供边缘计算系统中的计算设备内的示例组件的进一步概览。
图9示出根据示例的边缘计算系统当中部署的分布式计算层的概览;
图10示出根据示例的非陆地(卫星)和陆地(移动蜂窝网络)设置中的网络连接性。
图11示出用于将软件(例如,图8的示例计算机可读指令)分发到一个或多个设备的示例软件分发平台。
图12描绘边缘计算网络系统中的联邦学习的示例。
图13是示出根据特定实施例的执行经编码联邦学习的示例过程的流程图。
图14示出根据特定实施例的用于特征映射、局部训练和全局聚合的示例过程的流程图。
图15示出根据特定实施例的用于梯度的编码、负载均衡和分布式计算的示例过程的流程图。
图16示出根据特定实施例的梯度的编码、负载均衡和分布式计算的示例过程的流程图。
图17示出根据第一实施例的用于通信和计算感知客户端选择的协议流;
图18示出根据第二实施例的用于通信和计算感知客户端选择的协议流;以及
图19示出用于涉及基于联合损失和计算机/通信时间的客户端选择过程的通信的协议流。
图20是示出根据特定实施例的确保差分隐私的示例过程的流程图。
图21是示出根据特定实施例在客户端计算节点处确保差分隐私的示例过程的流程图。
图22是示出根据特定实施例的使用可信服务器或执行环境确保差分隐私的示例过程的流程图。
图23是示出根据特定实施例的使用可信服务器或执行环境确保差分隐私的另一示例过程的流程图。
图24是示出根据特定实施例的划分隐私预算的示例过程的流程图。
图25-图32示出包括客户端和MEC服务器的相似边缘学习环境。
图33是根据一些实施例的关于各种联邦学习机制绘制时期数量E针对均方差(MSE)的图线。
图34是根据一些实施例的关于各种联邦学习机制绘制时期数量E针对百分比准确度的图线。
图35是根据一些实施例的关于各种联邦学习机制绘制NMSE性能相对于总时钟时间的图线。
图36是示出根据一些实施例的关于各种联邦学习机制的不同算法在时期数量方面的收敛速率的图线。
具体实施方式
实施例将集中于协作的、分层次的并且使用分布式数据集/数据点而且在针对保护隐私的同时进行处理的学习。一些实施例有利地运用由无线边缘网络提供的资源丰富的实时计算环境提供的机会,以利用感测、计算、通信和存储资源,降低时延和通信成本(包括通过无线电资源管理的方式),增加隐私(例如,通过传送结果而非原始数据),自动化和扩展ML训练,利用无线以用于计算(包括空中组合),并促进多阶段学习。
以下章节A至G将提供用于边缘计算(例如,无线边缘计算)的配置的概览,其分别包括边缘计算的概览、边缘计算中的容器的使用、边缘计算设置中的移动性和多接入边缘计算(MEC)、计算架构和系统、机器可读介质和分布式软件指令、卫星边缘连接性使用情况、边缘计算设置中的软件分发。章节H提供边缘计算网络中的机器学习的概览。
章节H至P提供解决在具有分布式数据的无线边缘网络上开发全局准确学习模型的挑战的一些各个示范性实施例的详细描述。如本领域技术人员将认识到的,章节H至P中的任何一个中描述的实施例的方面可以与在相同章节中的任何一个中描述的其他方面组合。可以使用下文描述的章节A至G中的任何章节中描述的任何配置或环境部署或实现章节H至P的实施例。
A.边缘计算的概览
图1是示出包括许多以下示例中称为“边缘云”的处理层的用于边缘计算的配置的概览的框图100。如所示,边缘云110共同定位于边缘位置(例如,接入点或基站140、本地处理中枢150或中心局120)处,并且因此可以包括多个实体、设备和装备实例。边缘云110定位得比云数据中心130远更靠近端点(消费者和生产者)数据源160(例如,自主车辆161、用户设备162、商业和工业设备163、视频捕获设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器和存储资源对于提供端点数据源160所使用的服务和功能的超低时延响应时间以及减少从边缘云110朝向云数据中心130的网络回传业务(由此改进能耗和总体网络使用等益处)是关键的。
计算、存储器和存储是稀缺资源,并且通常取决于边缘位置而降低(例如,消费者端点设备处可用的处理资源比基站处或中心局处更少)。然而,边缘位置离端点(例如,用户设备(UE))越靠近,空间和功率可能受约束就越多。因此,边缘计算尝试通过既在地理上又在网络接入时间方面定位得更靠近的更多资源的分布减少网络服务所需的资源的量。以此方式,边缘计算尝试在适当的情况下将计算资源带到工作负载数据,或者将工作负载数据带到计算资源。
以下描述涵盖多个潜在部署并且解决一些网络运营商或服务提供商可能在其自身基础设施中具有的限制的边缘云架构的方面。它们包括:基于边缘位置的配置的变化(因为基站等级处的边缘例如在多租户场景中可能具有更受约束的性能和能力);基于对边缘位置、位置的层或位置的群组可用的计算、存储器、存储、组构、加速或类似资源的类型的配置;服务、安全性以及管理和编排能力;和针对实现端服务的可用性和性能的有关目标。取决于时延、距离和时序特性,这些部署可以在可以看作“近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”或“远边缘”层的网络层中完成处理。
边缘计算是一种发展中的范例,其中,在网络的“边缘”处或更靠近网络的“边缘”执行计算,这可以使用基站、网关、网络路由器或远更靠近生产并且消费数据的端点设备的其他设备处所实现的计算平台(例如,x86或ARM计算硬件架构)。例如,边缘网关服务器可以配备有存储器和存储资源的池,以对于用于已连接的客户端设备的低时延使用情况(例如,自动驾驶或视频监控)实时执行计算。
或者作为示例,可以用计算和加速资源增强基站,以直接处理用于已连接的用户设备的服务工作负载,而无需经由回传网络进一步传递数据。或者作为另一示例,可以用执行虚拟化网络功能并供给用于执行用于已连接的设备的服务和消费者功能的计算资源的标准化计算硬件替代中心局网络管理硬件。在边缘计算网络内,服务中可能存在计算资源将“移动”到数据的场景以及数据将“移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以通过激活休眠容量(订购、按需容量)根据需要与工作负载需求成比例,以管理困境情况、紧急情况或在显著更长的所实现的生命周期上提供用于所部署的资源的长寿命。
图2示出端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘在网络计算的多个说明性层之间利用边缘云110的计算使用情况205的示例。层开始于端点(设备和事物)层200处,其访问边缘云110以进行数据创建、分析和数据消费活动。边缘云110可以跨度多个网络层,例如:边缘设备层210,其具有位于实体上接近边缘系统的网关、驻地服务器或网络设备(节点215);网络接入层220,其包括基站、无线电处理单元、网络中枢、区域数据中心(DC)或本地网络设备(设备225);和位于其间的任何设备、设备或节点(在层212中,未详细示出)。边缘云110内的以及各个层之间的网络通信可以经由任何数量的有线或无线介质(包括:经由未描绘的连接性架构和技术)发生。
源自网络通信距离和处理时间约束的时延的示例可以范围从当在端点层200之间时小于1毫秒(ms)、在边缘设备层210处小于5ms、到甚至当与网络接入层220处的节点进行通信时的10至40ms之间。超越边缘云110的是核心网230和云数据中心240层,其均具有增加的时延(例如,在核心网层230处的50-60ms之间、到云数据中心层处的100或更多ms)。因此,具有至少50至100ms或更多的时延的核心网数据中心235或云数据中心245处的操作将不能够完成使用情况205的许多时间关键功能。为了说明和对比的目的提供这些时延值中的每一个;应理解,使用其他接入网络介质和技术可以进一步减少时延。在一些示例中,相对于网络源和目的地,网络的各个部分可以分类为“靠近边缘”、“本地边缘”、“近边缘”、“中间边缘”或“远边缘”层。例如,从核心网数据中心235或云数据中心245的角度来看,中心局或内容数据网络可以看作位于“近边缘”层内(“近”于云,当与使用情况205的设备和端点进行通信时具有高时延值),而接入点、基站、驻地服务器或网络网关可以看作位于“远边缘”层内(“远”离开云,当与使用情况205的设备和端点进行通信时具有低时延值)。应理解,构成“靠近”、“本地”、“近”、“中间”或“远”边缘的特定网络层的其他分类可以基于从任何网络层200-240中的源测量的时延、距离、网络跳转的数量或其他可测量的特性。
归因于多个服务利用边缘云,各种使用情况205可以在来自传入流的使用压力下接入资源。为了实现具有低时延的结果,在边缘云110内执行的服务鉴于以下方面平衡变化的要求:(a)优先级(吞吐量或时延)和服务质量(QoS)(例如,用于自动驾驶汽车的业务鉴于响应时间要求可以具有比温度传感器更高的优先级;或者,取决于应用,性能敏感性/瓶颈可以存在于计算/加速器、存储器、存储或网络资源处);(b)可靠性和弹性(例如,取决于应用,需要对一些输入流采取行动,并以任务关键可靠性路由业务,而一些其他输入流可以容忍偶尔故障);和(c)实体约束(例如,电力、冷却和形数)。
用于这些使用情况的端到端服务视图涉及服务流的概念并且与事务关联。事务详述对于消费服务的实体的整体服务要求以及用于资源、工作负载、工作流程以及商业功能和商业等级要求的关联服务。可以在服务的生命周期期间以确保关于事务的实时和运行时合同合规性的方式在每个层处管理用所描述的“条款”执行的服务。当事务中的组件错过其对SLA的协定时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违反的影响;和(2)增强系统中的其他组件以恢复整体事务SLA;和(3)实现步骤以进行补救。
因此,考虑到这些变化和服务特征,边缘云110内的边缘计算可以提供用于实时或近乎实时服务于并且响应于使用情况205的多个应用(例如,对象跟踪、视频监控、所连接的汽车等)并满足对于这些多个应用的超低时延要求的能力。这些优势赋能归因于时延或其他限制而无法借助传统云计算的全新类的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)。
然而,随边缘计算的优势而来的是以下告诫。位于边缘处的设备可能是受资源约束的,并且因此对边缘资源的使用存在压力。典型地,通过存储器和存储资源的池化以用于由多个用户(租户)和设备使用解决该问题。边缘可能是受功率和冷却约束的,并且因此需要由正消耗最多功率的应用考虑功率使用。在这些池化存储器资源中可能存在固有的功率性能权衡,因为它们中的许多很可能使用新兴存储器技术,其中,更多的功率需要更大的存储器带宽。同样,因为边缘位置可能是无人化的,并且甚至可能需要受许可的接入(例如,当容纳于第三方位置中时),所以还需要改进的硬件安全性和信任根可信功能。此类问题在多租户、多拥有方或多接入设置中的边缘云110中被放大,其中,许多用户请求服务和应用,特别是随着网络使用动态地波动并且多个利益相关方的组成、使用情况和服务改变。
在更一般的层次上,边缘计算系统可以描述为涵盖在边缘云110中操作的先前讨论的层(网络层200-240)处的任何数量的部署,其提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点以及一个或多个核心数据中心可以分布跨越网络的各个层,以通过或代表电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体提供边缘计算系统的实现方式。例如,当受编排以满足服务目标时,可以动态地提供边缘计算系统的各种实现方式和配置。
与本文提供的示例一致,客户端计算节点可以体现为能够作为数据的生产者或消费者进行通信的任何类型的端点组件、设备、器具或其他事物。此外,边缘计算系统中所使用的标记“节点”或“设备”并不一定意指该节点或设备以客户端或代理/随从/跟随方角色进行操作;相反,边缘计算系统中的任何节点或设备指代包括分立的或连接的硬件或软件配置以促进或使用边缘云110的单独实体、节点或子系统。
故此,边缘云110由受网络层210-230之间的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并且处于其内的网络组件和功能特征形成。边缘云110因此可以体现为提供与本文讨论的有无线接入网(RAN)能力的端点设备(例如,可以与由O-RAN联盟颁布的开放式RAN(O-RAN)规范兼容的移动计算设备、IoT设备、智能设备等)接近地定位的边缘计算和/或存储资源的任何类型的网络。换言之,边缘云110可以设想为连接端点设备和充当进入服务提供商核心网(包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等))的入口点的传统网络接入点同时还提供存储和/或计算能力的“边缘”。也可以利用其他类型和形式的网络接入(例如,Wi-Fi、长距离无线、包括光网络的有线网络)代替这些3GPP运营商网络或与之组合。
边缘云110的网络组件可以是服务器、多租户服务器、器具计算设备和/或任何其他类型的计算设备。例如,边缘云110可以包括器具计算设备,其为包括外壳、机壳、壳体或壳的自含式电子设备。在一些情况下,外壳可以关于便携性而受尺寸化,以使得其可以由人携带和/或运送。示例外壳可以包括形成部分地或完全地保护器具的内容物的一个或多个外表面的材料,其中,保护可以包括天气保护、危险环境保护(例如,EMI、振动、极端温度)和/或赋能浸水性。示例外壳可以包括用于为固定和/或便携式实现方式提供功率的功率电路(例如,AC功率输入、DC功率输入、AC/DC或DC/AC转换器、功率调节器、变压器、充电电路、电池、有线输入和/或无线功率输入)。示例外壳和/或其表面可以包括或连接到安装硬件,以赋能对结构(例如,建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架、滑动件等))的附接。服务器机架可以指代专门被设计为容纳包括路由器、交换机、集线器、服务器(包括基于CPU和/或GPU的计算设备)、数据存储设备(例如,存储区域网络(SAN)设备)或其他类型的计算或连网设备的技术设备的结构。机架可以使在一个区域中安全地保持多件设备成为可能。在一些情况下,机架可以包括一个或多个滑动件。滑动件可以指代允许将多个各种计算、GPU和/或存储设备容纳在机架的位置中的外壳(例如,4单元(4U)大小的或其他大小的单元)。在一些情况下,滑动件可以允许其内容纳的设备成为可热插拔的。示例外壳和/或其表面可以支撑一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个这样的传感器可以包含于器具的表面中,由其承载,或以其他方式嵌入在器具的表面中和/或安装到器具的表面。示例外壳和/或其表面可以支撑机械连接性(例如,推进硬件(例如,轮、螺旋桨等)和/或铰接硬件(例如,机器人臂、可枢转配件等))。在一些情况下,传感器可以包括任何类型的输入设备(例如,用户接口硬件(例如,按钮、开关、拨盘、滑动件等))。在一些情况下,示例外壳包括包含于其中,由其承载,嵌入其中和/或附接至其的输出设备。输出设备可以包括显示器、触摸屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设备是用于特定目的网络中的设备(例如,交通灯),但是可以具有可以出于其他目的而利用的处理和/或其他能力。这些边缘设备可以独立于其他连网设备,并且可以配备具有对于其主要目的合适的形数的外壳;也对于不干扰其主要任务的其他计算任务是可用的。边缘设备包括物联网设备。器具计算设备可以包括硬件和软件组件,以管理本地问题(例如,设备温度、振动、资源利用、更新、电力问题、物理和网络安全等)。结合图8描述用于实现器具计算设备的示例硬件。边缘云110可以还包括一台或多台服务器和/或一台或多台多租户服务器。该服务器可以包括操作系统并且实现虚拟计算环境。虚拟计算环境可以包括管理(例如,量产、部署、销毁等)一个或多个虚拟机、一个或多个容器等的管理程序。这些虚拟计算环境提供一个或多个应用和/或其他软件、代码或脚本可以在与一个或多个其他应用、软件、代码或脚本隔离的同时执行的执行环境。
在图3中,(呈移动设备、计算机、自主车辆、商业计算设备、工业处理设备的形式的)各种客户端端点310交换对于端点网络聚合类型特定的请求和响应。例如,客户端端点310可以凭借通过驻地网络系统332交换请求和响应322而经由有线宽带网络获得网络接入。一些客户端端点310(例如,移动计算设备)可以凭借通过接入点(例如,蜂窝网络塔)334交换请求和响应324而经由无线宽带网络获得网络接入。一些客户端端点310(例如,自主车辆)可以通过位于街道的网络系统336经由无线车辆网络获得对于请求和响应326的网络接入。然而,无论网络接入的类型如何,TSP都可以在边缘云110内部署聚合点342、344以聚合业务和请求。因此,在边缘云110内,TSP可以(例如,在边缘聚合节点340处)部署各种计算和存储资源,以提供所请求的内容。边缘云110的边缘聚合节点340和其他系统连接到云或数据中心360,其使用回传网络350以履行来自云/数据中心的对网站、应用、数据库服务器等的更高时延请求。边缘聚合节点340和聚合点342、344的附加或合并实例(包括单个服务器框架上部署的那些)也可以存在于边缘云110或TSP基础设施的其他区域内。
B.边缘计算中的容器的使用
图4示出用于在多个边缘节点和使用这些边缘节点的多个租户(例如,用户、提供商)之间操作的跨边缘计算系统的虚拟化和基于容器的边缘配置的部署和编排。具体而言,图4描绘边缘计算系统400中的第一边缘节点422和第二边缘节点424的协调,以履行对于访问各种虚拟边缘实例的各种客户端端点410(例如,智能城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应。在此,虚拟边缘实例432、434通过关于对网站、应用、数据库服务器等的较高时延请求而访问云/数据中心440提供边缘云中的边缘计算能力和处理。然而,边缘云赋能协调用于多个租户或实体的多个边缘节点之间的处理。
在图4的示例中,这些虚拟边缘实例包括:第一虚拟边缘432,供给第一租户(租户1),其供给边缘存储、计算和服务的第一组合;和第二虚拟边缘434,其供给边缘存储、计算和服务的第二组合。虚拟边缘实例432、434分布在边缘节点422、424之间,并且可以包括从相同或不同边缘节点履行请求和响应的场景。边缘节点422、424以分布式的却协调式的方式进行操作的配置基于边缘供应功能450而发生。边缘节点422、424在多个租户之间为应用和服务提供协调式操作的功能基于编排功能460而发生。
应理解,410中的设备中的一些是多租户设备,其中,租户1可以在租户1“切片”内运作,而租户2可以在租户2切片内运作(并且,在进一步的示例中,附加或子租户可能存在;并且每个租户甚至可能特别地得以赋权并在事务上与直至特定硬件特征的特定特征集合绑定)。可信多租户设备可以还包含租户特定加密密钥,使得密钥和切片的组合可以看作“信任根”(RoT)或租户特定RoT。可以使用DICE(设备身份合成引擎)架构进一步动态地计算RoT,使得DICE硬件构建块用于构造分层式可信计算基上下文,以用于设备能力(例如,现场可编程门阵列(FPGA))的分层。RoT可以进一步用于可信计算上下文,以赋能对于支持多租赁是有用的“扇出”。在多租户环境内,各个边缘节点422,424可以操作为用于分配给每节点的多个租户的本地资源的安全特征强制点。此外,租户运行时和应用执行(例如,在实例432,434中)可以充当用于创建潜在地跨越多个物理托管平台的资源的虚拟边缘抽象的安全特征的强制点。最后,编排实体处的编排功能460可以操作为用于沿着租户边界整理资源的LSM或安全特征强制点。
边缘计算节点可以对资源(存储器、中央处理单元(CPU)、图形处理单元(GPU))、中断控制器、输入/输出(I/O)控制器、存储器控制器、总线控制器等)进行划分,其中,各个划分可以包含RoT能力,并且其中,可以进一步将根据DICE模型的扇出(fan-out)和分层应用于边缘节点。云计算节点可以使用可以根据DICE分层和扇出结构加以划分的容器、FaaS引擎、小服务程序(servlet)、服务器或其他计算抽象,以对于每个支持RoT上下文。因此,跨越设备410、422和440的各个RoT可以协调分布式可信计算基(DTCB)的建立,使得可以建立端到端地链接所有元素的租户特定虚拟可信安全信道。
此外,应理解,容器可以具有保护其内容免受先前边缘节点影响的数据或工作负载特定密钥。作为容器的迁移的部分,源边缘节点处的容器集(pod)控制器可以从目标边缘节点容器集控制器获得迁移密钥,其中,迁移密钥用以包装容器特定密钥。当容器/容器集迁移到目标边缘节点时,解包装密钥暴露给容器集控制器,容器集控制器然后对所包装的密钥进行解密。这些密钥现在可以用以对容器特定数据执行操作。迁移功能可以由适当证明的边缘节点和容器集管理器控制(如上所述)。
在进一步的示例中,边缘计算系统扩展为在多拥有方、多租户环境中通过使用容器(提供代码和所需依赖关系的软件的所包含的可部署的单元)提供多个应用的编排。多租户编排器可以用以执行密钥管理、信任锚点管理和与图4中的可信“切片”概念的供应和生命周期有关的其他安全功能。例如,边缘计算系统可以被配置为履行对来自多个虚拟边缘实例(以及来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算卸载)。此外,在虚拟边缘实例内可以存在多种类型的应用(例如,普通应用;时延敏感应用;时延关键应用;用户平面应用;连网应用;等)。虚拟边缘实例也可以跨越穿过不同地理位置的多个拥有方的系统(或者,由多个拥有方共同拥有或共同管理的各个计算系统和资源)。
例如,每个边缘节点422、424可以例如通过使用提供一个或多个容器的群组的容器“容器集”426、428实现容器的使用。在使用一个或多个容器容器集的设置中,容器集控制器或编排器负责容器集中的容器的本地控制和编排。根据每个容器的需要划分对于各个边缘切片432、434提供的各种边缘节点资源(例如,用六边形描绘的存储、计算、服务)。
通过使用容器容器集,容器集控制器监督容器和资源的划分和分配。容器集控制器例如通过接收基于SLA合同的关键性能指标(KPI)目标从编排器(例如,编排器460)接收指令,其关于如何最佳地划分物理资源以及达多长持续时间而指导控制器。容器集控制器确定哪个容器需要哪些资源以及达多长时间以完成工作负载并满足SLA。容器集控制器还管理容器生命周期操作,例如:创建容器,为其供应资源和应用,协调一起工作在分布式应用上的多个容器之间的中间结果,当工作负载完成时拆除容器,等。此外,容器集控制器可以充当安全角色,其防止资源的分派,指导正确的租户进行鉴权,或者防止向容器供应数据或工作负载,直到证明结果得以满足。
此外,通过使用容器容器集,租户边界可以仍然存在,但处于容器的每个容器集的上下文中。如果每个租户特定容器集具有租户特定容器集控制器,则将存在共享容器集控制器,其统合资源分配请求,以避免潜在的资源匮乏情况。可以提供进一步的控制,以确保容器集和容器集控制器的证明和可信度。例如,编排器460可以向执行证明验证的本地容器集控制器提供证明验证策略。如果证明满足用于第一租户容器集控制器而非第二租户容器集控制器的策略,则第二容器集可以迁移到确实满足它的不同边缘节点。替代地,可以允许第一容器集执行,并且在第二容器集执行之前安装和调用不同的共享容器集控制器。
图5示出在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置510、520描绘这样的设置:其中,容器集控制器(例如,容器管理器511、521和容器编排器531)适用于通过经由计算节点(布置510中的515)的执行启动容器化的容器集、功能和功能即服务实例,或通过经由计算节点(布置520中的523)的执行分离地执行容器化虚拟化网络功能。该布置适用于(使用计算节点537的)系统布置530中的多个租户的使用,其中,容器化的容器集(例如,容器集512)、功能(例如,功能513、VNF 522、536)和功能即服务实例(例如,FaaS实例514)在特定于各个租户的虚拟机(例如,用于租户532、533的VM 534、535)内得以启动(除了虚拟化网络功能的执行)。该布置进一步适用于提供容器542、543的系统布置540中的使用或由基于容器的编排系统541协调的计算节点544上的各种功能、应用和功能的执行。
图5中描绘的系统布置可以提供在应用组成方面同等地对待VM、容器和功能的架构(并且所得应用是这三种成分的组合)。每种成分可以涉及使用一个或多个加速器(FPGA、ASIC)组件作为本地后端。以此方式,可以跨越编排器所协调的多个边缘拥有方划分应用。
在图5的上下文中,容器集控制器/容器管理器、容器编排器和单独节点可以提供安全强制点。然而,可以在分配给租户的资源与分配给第二租户的资源有区别的情况下编排租户隔离,但边缘拥有方进行协作以确保不跨越租户边界共享资源分配。或者,可以跨越租户边界隔离资源分配,因为租户可以允许经由订购或事务/合同基础的“使用”。在这些上下文中,虚拟化、容器化、飞地和硬件划分方案可以由边缘拥有方使用,以强制租赁。其他隔离环境可以包括:裸金属(专用)设备、虚拟机、容器、容器上的虚拟机或其组合。
在进一步的示例中,软件定义或控制的硅硬件的方面和其他可配置硬件可以与边缘计算系统的应用、功能和服务集成。软件定义的硅(SDSi)可以用以确保用于特定资源或硬件成分履行合同或服务水平协议的能力,基于该成分的的能力,以(例如,通过硬件配置自身内的新特征的升级、重新配置,或供应)修复自身的部分或工作负载。
C.边缘计算设置中的移动性和多访问边缘计算(MEC)
应理解,本文讨论的边缘计算系统和布置可以适用于涉及移动性的各种解决方案、服务和/或使用情况。作为示例,图6示出涉及对实现边缘云110的边缘计算系统600中的应用的移动访问的简化车辆计算和通信使用情况。在该使用情况下,各个客户端计算节点610可以体现为位于在道路的穿越期间与边缘网关节点620进行通信的对应车辆中的车载计算系统(例如,车载导航和/或信息娱乐系统)。例如,边缘网关节点620可以位于可以沿着道路、在道路的交叉口处或道路附近的其他位置放置的路边机柜或内置在具有其他分离的机械效用的结构中的其他封壳中。随着各个车辆沿着道路穿越,其客户端计算节点610与特定边缘网关设备620之间的连接可以传播,以使得对于客户端计算节点610保持一致的连接和上下文。同样,移动边缘节点可以按高优先级服务或根据对于底层服务的吞吐量或时延解决方案要求(例如,在无人机的情况下)进行聚合。各个边缘网关设备620包括处理和存储能力的量,并且故此,用于客户端计算节点610的的数据的某处理和/或存储可以在边缘网关设备620中的一个或多个上得以执行。
边缘网关设备620可以与一个或多个边缘资源节点640进行通信,边缘资源节点640说明性地体现为位于通信基站642(例如,蜂窝网络的基站)处或其中的计算服务器、器具或组件。如上所述,各个边缘资源节点640包括处理和存储能力的量,并且因此,用于客户端计算节点610的数据的某处理和/或存储可以在边缘资源节点640上得以执行。例如,较不紧急或重要的数据的处理可以由边缘资源节点640执行,而较高紧急性或重要性的数据的处理可以由边缘网关设备620执行(取决于例如每个组件的能力或指示紧急性或重要性的请求中的信息)。基于数据访问、数据位置或时延,当在处理活动期间处理优先级改变时,工作可以在边缘资源节点上继续。同样,可以(例如,通过本地编排器)激活可配置的系统或硬件资源自身,以提供附加资源,以满足新需求(例如,将计算资源适配于工作负载数据)。
边缘资源节点640还与核心数据中心650进行通信,核心数据中心650可以包括位于中心位置(例如,蜂窝通信网络的中心局)中的计算服务器、器具和/或其他组件。核心数据中心650可以提供对全局网络云660(例如,互联网)的网关,以用于由边缘资源节点640和边缘网关设备620形成的边缘云110操作。此外,在一些示例中,核心数据中心650可以包括处理和存储能力的量,并且故此,客户端计算设备的数据的某处理和/或存储可以在核心数据中心650上得以执行(例如,低紧急性或重要性或高复杂度的处理)。
边缘网关节点620或边缘资源节点640可以供给状态性应用632和地理分布式数据库634的使用。虽然应用632和数据库634示出为水平分布在边缘云110的层处,但是应理解,应用的资源、服务或其他组件可以垂直分布遍及边缘云(包括客户端计算节点610处执行的应用的部分、边缘网关节点620或边缘资源节点640处的其他部分等)。此外,如前所述,可以存在处于任何等级的对等关系,以满足服务目标和义务。此外,用于特定客户端或应用的数据可以基于不断改变的条件(例如,基于加速资源可用性、跟随汽车运动等)随着边缘而移动。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一拥有方或者数据或计算访问何时将不再是可行的。可以利用这些和其他服务,以完成保持事务合规和无损所需的工作。
在进一步的场景中,容器636(或容器的容器集)可以灵活地从边缘节点620迁移到其他边缘节点(例如,620、640等),以使得具有应用和工作负载的容器不需要重组,重新编译,重新解释,以用于对工作的迁移。然而,在这些设置中,可能存在所应用的一些补救或“混乱”转译操作。例如,节点640处的物理硬件可能与边缘网关节点620不同,并且因此,构成容器的底部边缘的硬件抽象层(HAL)将重新映射到目标边缘节点的物理层。这可以涉及某种形式的晚绑定技术(例如,将HAL从容器原生格式二进制转译为物理硬件格式),或者可以涉及映射接口和操作。容器集控制器可用以驱动接口映射作为容器生命周期的一部分,其包括去往/来自不同硬件环境的迁移。
由图6涵盖的场景可以利用各种类型的移动边缘节点(例如,托管于车辆(汽车/卡车/电车/火车)或其他移动单元中的边缘节点),因为边缘节点将沿着托管它的平台移动到其他地理位置。在车辆到车辆通信的情况下,单独车辆甚至可以充当用于其他车辆的网络边缘节点(例如,以执行缓存、报告、数据聚合等)。因此,应理解,各种边缘节点中提供的应用组件可以分布在静态或移动设置中,包括单独端点设备或边缘网关节点620处的一些功能或操作、边缘资源节点640处的一些其他功能或操作以及核心数据中心650或全局网络云660中的其他功能或操作之间的协调。
在其他配置中,边缘计算系统可以通过使用各个可执行应用和功能实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文的“计算机代码”),并且功能代码被上传到例如边缘节点或数据中心所提供的FaaS平台。触发(例如,比如,服务使用情况或边缘处理事件)发起用FaaS平台执行功能代码。
在FaaS的示例中,容器用以提供执行功能代码(例如,可以由第三方提供的应用)的环境。容器可以是任何隔离式执行实体(例如,进程、Docker或Kubernetes容器、虚拟机等)。在边缘计算系统内,各种数据中心、边缘设备和端点设备(包括移动设备)用以“加持(spin up)”按需缩放的功能(例如,激活和/或分配功能动作)。功能代码得以在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上执行。最终,响应于执行完成,在基础设施上“减持(spin down)”(例如,停用和/或解除分配)容器。
FaaS的其他方面可以赋能以服务方式部署边缘功能,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的各个功能的支持。FaaS的附加特征可以包括:粒度计费组件,其赋能消费者(例如,计算机代码开发者)以仅当他们的代码得以执行时进行支付;公共数据存储,其用于存储数据,以用于由一个或多个功能重用;单独功能之间的编排和管理;功能执行管理、并行性和联合;容器和功能存储器空间的管理;对于功能可用的加速资源的协调;和容器(包括已经部署或正在操作的“暖”容器与需要初始化、部署或配置的“冷”容器)之间的功能的分布。
边缘计算系统600可以包括边缘供应节点644或与之进行通信。边缘供应节点644可以将软件(例如,图8的示例计算机可读指令882)分发给各个接收方,以用于实现本文描述的任何方法。示例边缘供应节点644可以由能够存储和/或向其它计算设备发送软件指令(例如,代码、脚本、可执行二进制文件、容器、分组、压缩文件和/或其派生)的任何计算机服务器、归属服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等实现。示例边缘供应节点644的组件可以位于云中,局域网中、边缘网络中、广域网中、互联网上和/或与接收方以通信方式耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点644的实体的客户、客户端、关联方、用户等。例如,拥有和/或操作边缘供应节点644的实体可以是软件指令(例如,图8的示例计算机可读指令882)的开发者,销售方和/或许可方(或其客户和/或消费者)。接收方可以是购买和/或许可软件指令以用于使用和/或转售和/或分许可的消费者、服务提供商、用户、零售商、OEM等。
在一个示例中,边缘供应节点644包括一个或多个服务器和一个或多个存储设备。存储设备托管计算机可读指令(例如,图8的示例计算机可读指令882),如下所述。与上述边缘网关设备620相似,边缘供应节点644的一个或多个服务器与基站642或其他网络通信实体进行通信。在一些示例中,作为商业交易的部分,一个或多个服务器响应于请求以将软件指令发送到请求方。对于软件指令的交付、销售,和/或许可的支付可以由软件分发平台的一个或多个服务器和/或经由第三-方支付实体应对。服务器赋能购买者和/或许可方以从边缘供应节点644下载计算机可读指令882。例如,可以与图8的示例计算机可读指令882对应的软件指令可以下载到示例处理器平台,其将执行计算机可读指令882以实现本文描述的方法。
在一些示例中,执行计算机可读指令882的处理器平台可以物理地位于不同的地理位置、法定管辖区等中。在一些示例中,边缘供应节点644的一个或多个服务器周期性地供给、发送、和/或强制更新软件指令(例如,图8的示例计算机可读指令882),以确保改进、补丁、更新等分发并应用于端用户设备处实现的软件指令。在一些示例中,可以从不同的源和/或不同的处理器平台分发计算机可读指令882的不同组件;例如,可以从不同的源和/或向不同的处理器平台分发不同的库、插件、组件和其他类型的计算模块(无论是编译的还是解释的)。例如,可以从第一源分发软件指令的部分(例如,自身不是可执行的脚本),而可以从第二源分发(能够执行脚本)的解释器。
图7示出例如由ETSI MEC规范指示的的移动边缘系统参考架构(或MEC架构)700。图7具体示出MEC架构700,其中,MEC主机702和704根据ETSI GS MEC-003规范提供功能。在一些方面中,对MEC平台732和MEC平台管理器706的增强可以用于在MEC架构700内提供特定计算功能。
参照图7,MEC网络架构700可以包括MEC主机702和704、虚拟化基础设施管理器(VIM)708、MEC平台管理器706、MEC编排器710、操作支持系统712、用户app代理714、UE 720上运行的UE应用718和CFS门户716。MEC主机702可以包括MEC平台732,其具有过滤规则控制组件740、DNS处理组件742、服务注册表738和MEC服务736。MEC服务736可以包括至少一个调度器,其可以用以选择用于在虚拟化基础设施722上实例化MEC app(或NFV)726、727和728的资源。MEC app 726和728可以被配置为提供服务730和731,其可以包括:处理与一个或多个无线连接(例如,对一个或多个RAN(例如,O-RAN)或电信核心网实体的连接)关联的不同类型的网络通信业务)。MEC主机704内实例化的MEC app 705可以相似于MEC主机702内实例化的MEC app 726-7728。虚拟化基础设施722包括数据平面724,其经由MP2接口耦合到MEC平台。在图7中示出MEC架构700的各种网络实体之间的附加接口。
MEC平台管理器706可以包括MEC平台元素管理组件744、MEC app规则和需求管理组件746以及MEC app生命周期管理组件748。MEC架构700内的各种实体可以执行由ETSI GSMEC-003规范公开的功能。
在一些方面中,远程应用(或app)750被配置为经由MEC编排器710和MEC平台管理器706与MEC主机702(例如,与MEC app726-7728)进行通信。
D.计算架构和系统
在进一步的示例中,可以基于图8中描绘的组件履行参照本边缘计算系统和环境讨论的任何计算节点或设备。各个计算节点可以体现为一种类型的设备、器具、计算机或能够与其他边缘、连网或端点组件进行通信的其他“事物”。例如,边缘计算设备可以体现为个人计算机、服务器、智能电话、移动计算设备、智能器具、车载计算系统(例如,导航系统)、具有外部壳体、壳等的自含式设备或能够执行所描述的功能的其他设备或系统。
在更加详述的示例中,图8示出可以存在于边缘计算节点850中以用于实现本文描述的技术(例如,操作、过程、方法和方法论)的组件的示例的框图。边缘计算节点850可以包括本文引用的硬件或逻辑组件的任何组合,并且它可以包括或耦合于可随边缘通信网络或这些网络的组合使用的任何设备。组件可以实现为边缘计算节点850中适配的集成电路(IC)、其部分、分立式电子设备或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其组合,或者实现为以其他方式合并于更大系统的机架内的组件。
边缘计算设备850可以包括呈处理器852的形式的处理电路,其可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元或其他已知处理元件。处理器852可以是片上系统(SoC)的部分,其中,处理器852和其他组件形成为单个集成电路或单个封装(例如,来自加利福尼亚州圣克拉拉的英特尔公司的EdisonTM或GalileoTM SoC板)。作为示例,处理器852可以包括基于Architecture CoreTM的CPU处理器(例如,QuarkTM、AtomTM、i3、i5、i7、i9或MCU类处理器、或可得自的另一该处理器)。然而,可以使用任何数量的其他处理器(例如,可得自加利福尼亚州桑尼维尔的Advanced Micro Devices公司来自加利福尼亚州桑尼维尔的MIPS技术公司的基于的设计、授权自ARM Holdings有限公司或其客户、或其受许可人或采用方的基于的设计)。处理器可以包括例如来自公司的A5-13处理器、来自技术公司的SnapdragonTM处理器或来自TexasInstruments公司的OMAPTM处理器的单元。可以通过单插槽形数、多插槽形数或各种其他格式(包括:以有限硬件配置或包括少于图8所示的所有元件的配置)提供处理器852和伴随电路。
处理器852可以通过处理器的互连接口853在互连856(例如,总线)上与系统存储器854进行通信。互连接口853可以包括允许处理器852通过互连856连接到边缘计算节点850的其他组件的处理器852的任何输入/输出连接。处理器852可以包括一个或多个处理器和/或任何类型的处理电路。可以使用任何数量的存储器设备以提供给定量的系统存储器。作为示例,存储器754可以是根据联合电子器件工程委员会(JEDEC)设计(例如,DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4))的随机存取存储器(RAM)。在特定示例中,存储器组件可以符合由JEDEC颁布的DRAM标准(例如,用于DDR SDRAM的JESD79F、用于DDR2SDRAM的JESD79-2F、用于DDR3 SDRAM的JESD79-3F、用于DDR4 SDRAM的JESD79-4A、用于低功耗DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3和用于LPDDR4的JESD209-4)。这些标准(和相似标准)可以称为基于DDR的标准,并且实现这些标准的存储设备的通信接口可以称为基于DDR的接口。在各种实现方式中,各自存储器设备可以是任何数量的不同封装类型(例如,单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P))。在一些示例中,这些设备可以直接焊接到主板上以提供较低轮廓解决方案,而在其他示例中,设备被配置作为一个或多个存储器模块,其进而由给定的连接器耦合到主板。可以使用任何数量的其他存储器实现方式(例如,其他类型的存储器模块(例如,包括但不限于microDIMM或MiniDIMM的不同种类的双列直插存储器模块(DIMM)))。
为了提供信息(例如,数据、应用、操作系统等)的永久存储,存储858还可以经由互连856耦合到处理器852。在示例中,可以经由固态盘驱动器(SSDD)实现存储858。可以用于存储858的其他设备包括闪存卡(例如,安全数字(SD)卡、微SD卡、极限数字(XD)图片卡等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或可以包括使用硫属化物玻璃的存储器设备、多阈值级NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、合并忆阻器技术的磁阻式随机存取存储器(MRAM)存储器、电阻式存储器(包括金属氧化物基、氧空位基和导电桥随机存取存储器(CB-RAM))、或自旋转移矩(STT)-MRAM)、基于自旋电子磁结存储器的设备、基于磁隧道结(MTJ)的设备、基于DW(磁畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或上述任何组合、或其他存储器。
在低功率实现方式中,存储858可以是与处理器852关联的管芯上存储器或寄存器。然而,在一些示例中,可以使用微硬盘驱动器(HDD)实现存储858。此外,除了所描述的技术之外或代替所描述的技术,任何数量的新技术(例如,阻变存储器、相变存储器、全息存储器或化学存储器等)可以用于存储858。
组件可以通过互连856进行通信。互连856可以包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI高速(PCIe)或任何数量的其他技术。互连856可以是例如在基于SoC的系统中使用的专有总线。可以包括其他总线系统(例如,内部集成电路(I2C)接口、串行外围接口(SPI)接口、点对点接口和电源总线等)。
互连856可以将处理器852耦合到收发机866,以用于与所连接的边缘设备862的通信。收发机866可以耦合到边缘计算节点850的一个或多个天线871,以赋能边缘计算节点与无线边缘网络中的其他边缘计算节点或其他节点以无线方式进行通信。收发机866可以使用任何数量的频率和协议(例如,IEEE 802.15.4标准下的2.4吉赫兹(GHz)传输、使用如由特别兴趣小组定义的低能耗(BLE)标准或标准等)。被配置用于特定无线通信协议的任何数量的无线电可以用于对所连接的边缘设备862的连接。例如,无线局域网(WLAN)单元可以用以根据电气和电子工程师协会(IEEE)802.11标准实现通信。此外,例如根据蜂窝或其他无线广域协议的无线广域通信可以经由无线广域网(WWAN)单元而发生。
无线网络收发机866(或多个收发机)可以使用多个标准或无线电进行通信,以用于在不同范围的通信。例如,边缘计算节点850可以使用基于蓝牙低能耗(BLE)的本地收发机或另一低功率无线电与例如大约10米内的附近设备进行通信,以节省功率。可以通过ZigBee或其他中等功率无线电到达例如大约50米内的更多远距的所连接的边缘设备862。这两种通信技术可以在不同功率电平通过单个无线电而发生,或者可以通过分离的收发机(例如,使用BLE的本地收发机和使用的分离网格收发机)而发生。
可以包括无线网络收发机866(例如,无线电收发机),以经由局域网协议或广域网协议与云(例如,边缘云895)中的设备或服务进行通信。无线网络收发机866可以是遵循IEEE 802.15.4或IEEE802.15.4g标准等的低功耗广域(LPWA)收发机。边缘计算节点850可以使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广阔区域上进行通信。本文描述的技术不限于这些技术,而是可以与实现长距离、低带宽通信的任何数量的其他云收发机(例如,Sigfox)和其他技术一起使用。此外,可以使用IEEE 802.15.4e规范中描述的其他通信技术(例如,时隙式信道跳转)。
如本文所描述的那样,除了关于无线网络收发机866提及的系统之外,还可以使用任何数量的其他无线电通信和协议。例如,收发机866可以包括使用扩频(SPA/SAS)通信以用于实现高速通信的蜂窝收发机。此外,可以使用任何数量的其他协议(例如,用于中速通信和提供网络通信的网络)。收发机866可以包括本公开的结束进一步详述的与任何数量的3GPP(第三代伙伴项目)规范兼容的无线电(例如,长期演进(LTE)和第五代(5G)通信系统)。可以包括网络接口控制器(NIC)868,以向边缘云895的节点或向其他设备(例如,(例如,在网格中进行操作的)所连接的边缘设备862)提供有线通信。有线通信可以提供以太网连接,或者可以基于其他类型的网络(例如,控制器区域网(CAN)、局部互连网络(LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUS或PROFINET等)。可以包括附加NIC 868,以赋能连接到第二网络,例如,第一NIC 868通过以太网提供对云的通信,并且第二NIC 868通过另一类型的网络提供对其他设备的通信。
给定从设备到另一组件或网络的各种类型的适用通信,由设备使用的适用通信电路可以包括或体现为组件864、866、868或870中的任何一个或多个。因此,在各种示例中,用于通信(例如,接收、发送等)的适用手段可以由该通信电路体现。
边缘计算节点850可以包括或耦合到加速电路864,加速电路864可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、xPU/DPU/IPU/NPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC或被设计为完成一项或多项专门任务的其他形式的专用处理器或电路体现。这些任务可以包括AI处理(包括机器学习、训练、推理和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务可以还包括用于本文档其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连856可以将处理器852耦合到用以连接附加设备或子系统的传感器集线器或外部接口870。设备可以包括传感器872(例如,加速度计、水平传感器、流量传感器、光传感器、相机传感器、温度传感器、全球导航系统(例如,GPS)传感器、压力传感器、气压传感器等)。集线器或接口870也可以用于将边缘计算节点850连接到致动器874(例如,电源开关、阀门致动器、可听声音生成器、视觉警告设备等)。
在一些可选示例中,各种输入/输出(I/O)设备可以存在于边缘计算节点850内或连接到边缘计算节点850。例如,可以包括显示器或其他输出设备884以显示信息(例如,传感器读数或致动器位置)。可以包括输入设备886(例如,触摸屏或小键盘),以接受输入。输出设备电路884可以包括任何数量的形式的音频或视觉显示器,包括简单视觉输出(例如,二进制状态指示器(例如,发光二极管(LED))和多字符视觉输出)或更复杂的输出(例如,显示器屏幕(例如,液晶显示器(LCD)屏幕)),其中,从边缘计算节点850的操作生成或产生字符、图形、多媒体对象等的输出。显示器或控制台硬件在本系统的上下文中可以用以:提供输出并且接收边缘计算系统的输入;管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或行政功能或服务使用情况。
电池876可以对边缘计算节点850供电,虽然在边缘计算节点850安装在固定位置中的示例中,它可以具有耦合到电网的电源,或者电池可以用作备用或用于临时能力。电池876可以是锂离子电池或金属-空气电池(例如,锌-空气电池、铝-空气电池、锂-空气电池等)。
电池监控器/充电器878可以包括于边缘计算节点850中,以跟踪电池876(如果包括)的充电状态(SoCh)。电池监控器/充电器878可以用以监控电池876的其他参数,以提供故障预测(例如,电池876的健康状态(SoH)和功能状态(SoF))。电池监控器/充电器878可以是电池监控集成电路(例如,来自Linear Technology的LTC4020或LT7990、来自亚利桑那州凤凰城的ON Semiconductor的ADT7488A或来自德克萨斯州达拉斯的Texas Instruments的UCD90xxx系列的IC)。电池监控器/充电器878可以通过互连856将关于电池876的信息传递到处理器852。电池监控器/充电器878可以还包括模数(ADC)转换器,其赋能处理器852直接监控电池876的电压或来自电池876的电流。电池参数可以用以确定边缘计算节点850可以执行的动作(例如,传输频率、网状网络操作、感测频率等)。
电源块880或耦合到电网的其他电源可以与电池监控器/充电器878耦合,以对电池876进行充电。在一些示例中,可以用无线电力接收机代替电源块880,以通过无线方式(例如,通过边缘计算节点850中的环形天线)获得电力。无线电池充电电路(例如,来自加利福尼亚州米尔皮塔斯市的Linear Technology的LTC4020芯片等)可以包括于电池监控器/充电器878中。可以基于电池876的大小且因此所需的电流选择特定充电电路。可以使用由Airfuel联盟颁布的Airfuel标准、由无线电源联盟颁布的Qi无线充电标准或由无线充电联盟颁布的Rezence充电标准等执行充电。
存储858可以包括呈软件、固件或硬件命令的形式的指令882,以实现本文描述的技术。虽然这些指令882示出为存储器854和存储858中包括的代码块,但是可以理解,可以用(例如,内置到专用集成电路(ASIC)中的)硬连线电路代替任何代码块。
在示例中,经由存储器854、存储858或处理器852提供的指令882可以体现为非瞬时机器可读介质860,其包括用于引导处理器852以在边缘计算节点850中执行电子操作的代码。处理器852可以通过互连856存取非瞬时机器可读介质860。例如,非瞬时机器可读介质860可以由关于存储858描述的设备体现,或者可以包括特定存储单元(例如,光盘、闪速驱动器或任何数量的其他硬件设备)。非瞬时机器可读介质860可以包括用于引导处理器852以执行特定动作序列或流程的指令,例如,如关于以上描绘的操作和功能的流程图和框图所描述的那样。如本文所使用的那样,术语“机器可读介质”和“计算机可读介质”是可互换的。
同样在特定示例中,处理器852上的指令882(单独地,或与机器可读介质860的指令882组合)可以配置可信执行环境(TEE)890的执行或操作。在示例中,TEE 890操作为对处理器852可存取的受保护区域,以用于指令的安全执行和对数据的安全存取。例如,通过使用软件防护扩展(SGX)或硬件安全扩展、管理引擎(ME)或融合安全可管理性引擎(CSME),可以提供TEE 890的各种实现方式以及处理器852或存储器854中的伴随安全区域。可以通过TEE 890和处理器852在设备850中实现安全强化、硬件信任根以及受信任或受保护的操作的其他方面。
E.机器可读介质和分布式软件指令
在进一步的示例中,机器可读介质还包括能够存储、编码或携带用于由机器执行的指令并且使机器执行本公开的任何一种或多种方法或者能够存储、编码或携带由这些指令利用或与之关联的数据结构的任何有形介质。“机器可读介质”因此可以包括但不限于固态存储器以及光和磁介质。机器可读介质的具体示例包括非易失性存储器,通过示例的方式包括但不限于半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘(例如,内部硬盘和可移除盘);磁光盘;和CD-ROM和DVD-ROM盘。可以进一步利用多种传输协议中的任何一种(例如,超文本传输协议(HTTP))经由网络接口设备使用传输介质通过通信网络发送或接收由机器可读介质体现的指令。
存储设备或能够以非瞬时格式托管数据的其他装置可以提供机器可读介质。在示例中,机器可读介质上存储或以其他方式提供的信息可以表示指令(例如,指令本身或可以导出指令所根据的格式)。可以导出指令所根据的该格式可以包括源代码、(例如,压缩或加密形式的)编码指令、(例如,拆分为多个包的)包封指令等。表示机器可读介质中的指令的信息可以由处理电路处理为指令,以实现本文讨论的任何操作。例如,从信息导出指令(例如,由处理电路进行处理)可以包括:将信息(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地链接)、编码、解码、加密、解密、包封、解包封或以其他方式操控为指令。
在示例中,指令的导出可以包括(例如,处理电路进行的)信息的汇编、编译或解释,以从由机器可读介质提供的一些中间或预处理格式创建指令。信息当以在多个部分中得以提供时可以受组合、解包封并且修改,以创建指令。例如,信息可以处于一个或若干远端服务器上的多个压缩源代码包(或目标代码、或二进制可执行代码等)中。源代码包可以当通过网络运送时受加密,并且如果必要则受解密、解压缩、汇编(例如,链接),而且在本地机器处受编译或解释(例如,为库、独立可执行文件等),且由本地机器执行。
在更一般的层次上,边缘计算系统可以描述为涵盖在边缘云110中操作的任何数量的部署,其提供来自客户端和分布式计算设备的协调。为了说明的目的,图9提供在边缘计算环境当中部署的分布式计算的各层的抽象概述。
图9总体上描绘用于向跨越网络的各层分布的、分布在一个或多个客户端计算节点902、一个或多个边缘网关节点912、一个或多个边缘聚合节点922、一个或多个核心数据中心932和全局网络云942之间的多利益相关方实体提供边缘服务和应用的边缘计算系统。可以在电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体处或代表它们提供边缘计算系统的实现。
边缘计算系统的每个节点或设备位于与层910、920、930、940、950对应的特定层处。例如,客户端计算节点902均位于端点层910处,而边缘网关节点912中的每一个位于边缘计算系统的边缘设备层920(本地等级)处。此外,边缘聚合节点922(和/或雾设备924,如果与雾连网配置926一起布置或在雾网络配置926当中操作)位于网络接入层930(中间层级)处。雾计算(或“雾化”)通常指代云计算向企业网络的边缘的扩展(典型地在所协调的分布式或多节点网络中)。一些形式的雾计算在端设备与云计算数据中心(代表云计算位置)之间提供计算服务、存储服务和连网服务的部署。这些形式的雾计算提供与本文讨论的边缘计算一致的操作;本文讨论的许多边缘计算方面适用于雾网络、雾化和雾配置。此外,本文讨论的边缘计算系统的各方面可以被配置作为雾,或者雾的各方面可以整合到边缘计算架构中。
核心数据中心932位于核心网层940(例如,地区或地理中央层级)处,而全局网络云942位于云数据中心层950(例如,国家或全球层)处。提供“核心”的使用作为用于可由多个边缘节点或组件接入的集中式网络位置(网络中的较深处)的术语;然而,“核心”不一定指定网络的“中心”或最深位置。因此,核心数据中心932可以位于边缘云110内、其处或其附近。
虽然在图9中示出说明性数量的客户端计算节点902、边缘网关节点912、边缘聚合节点922、核心数据中心932、全局网络云942,但应理解,边缘计算系统在每一层处可以包括更多或更少的设备或系统。此外,如图9所示,每个层910、920、930、940和950的组件的数量通常在每个更低层级处(即,当移动得更靠近端点时)增加。故此,一个边缘网关节点912可以服务多个客户端计算节点902,并且一个边缘聚合节点922可以服务多个边缘网关节点912。
与本文提供的示例一致,每个客户端计算节点902可以体现为能够作为数据的生产者或消费者进行通信的任何类型的端点组件、设备、器具或“事物”。此外,边缘计算系统900中所使用的标记“节点”或“设备”并不一定意指该节点或设备以客户端或代理/随从/跟随方角色进行操作;相反,边缘计算系统900中的任何节点或设备指代包括分立的或连接的硬件或软件配置以促进或使用边缘云110的单独实体、节点或子系统。
因此,边缘云110由分别由层920的边缘网关节点912和层930的边缘聚合节点922操作并且处于其内的网络组件和功能特征形成。边缘云110可以体现为提供接近有无线接入网(RAN)能力的端点设备(例如,可以与O-RAN规范兼容的移动计算设备、IoT设备、智能设备等)(其在图9中示为客户端计算节点902)定位的边缘计算和/或存储资源的任何类型的网络。换言之,边缘云110可以设想为连接端点设备和充当进入服务提供商核心网(包括运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G网络等))的入口点的传统网络接入点同时还提供存储和/或计算能力的“边缘”。也可以利用其他类型和形式的网络接入(例如,Wi-Fi、长距离无线网络)代替这些3GPP运营商网络或与之组合。
在一些示例中,边缘云110可以形成进入或跨越雾连网配置926(例如,雾设备924的网络,未详细示出)的入口点的一部分,或者另外提供该入口点,雾连网配置926可以体现为分发资源和服务以执行特定功能的系统等级水平和分布式架构。例如,雾设备924的协调分布式网络可以在IoT系统布置的上下文中执行计算、存储、控制或连网方面。在云数据中心层950与客户端端点(例如,客户端计算节点902)之间的边缘云110中可以存在其他连网式、聚合式和分布式功能。在以下章节中,在网络功能或服务虚拟化的上下文中讨论其中一些功能,包括使用为多个利益相关方所编排的虚拟边缘和虚拟服务。
边缘网关节点912和边缘聚合节点922协作,以向客户端计算节点902提供各种边缘服务和安全性。此外,因为每个客户端计算节点902可以是固定的或移动的,所以随着对应客户端计算节点902围绕区域移动,每个边缘网关节点912可以与其他边缘网关设备协作,以传播当前提供的边缘服务和安全性。为此,边缘网关节点912和/或边缘聚合节点922可以支持多个租赁和多个利益相关方配置,其中,可以跨越单个或多个计算设备支持和协调来自(或托管于)多个服务提供商和多个消费者的服务。
F.使用情况:卫星边缘连接性
图10示出根据示例的非陆地(卫星)和陆地(移动蜂窝网络)设置中的网络连接性。如所示,卫星星座可以包括多个卫星1001、1002,其连接到彼此并且连接到一个或多个地面网络。具体而言,卫星星座连接到回传网络,回传网络进而连接到5G核心网1040。5G核心网用以支持卫星网络处和地面5G无线接入网(RAN)1030处的5G通信操作。在特定实施例中,RAN可以与O-RAN规范兼容。
图10还描绘使用地面5G RAN 1030以经由大规模MIMO天线1050向用户设备(UE)1020提供无线电连接性。应理解,出于简单的目的,在图10中并未描绘各种网络通信组件和单元。考虑到这些基本实体,以下技术描述可以对于各种边缘计算场景扩展地面和卫星网络的方式。
G.软件分发:
图11示出用于向一个或多个设备(例如,示例处理器平台1100和/或已连接边缘设备862)分发软件(例如,图8的示例计算机可读指令882)的示例软件分发平台1105。示例软件分发平台1105可以由能够存储并向其他计算设备(例如,第三方、图8的示例已连接边缘设备862)发送软件的任何计算机服务器、数据设施、云服务等实现。示例已连接边缘设备可以是客户、客户端、管理设备(例如,服务器)、第三方(例如,拥有和/或操作软件分发平台1105的实体的客户)。示例已连接边缘设备可以在商业和/或家庭自动化环境中进行操作。在一些示例中,第三方是软件(例如,图8的示例计算机可读指令882)的开发者、销售者和/或许可方。第三方可以是购买和/或许可软件以用于使用和/或转售和/或分许可的消费者、用户、零售商、OEM等。在一些示例中,分布式软件使一个或多个用户接口(UI)和/或图形用户接口(GUI)的显示标识地理上和/或逻辑上与彼此(例如,特许有配水控制(例如,泵)、电力配电控制(例如,继电器)等的责任的实体上分离的IoT设备)分离的一个或多个设备(例如,已连接边缘设备)。
在图11所示的示例中,软件分发平台1105包括一个或多个服务器和一个或多个存储设备。存储设备存储计算机可读指令882。示例软件分发平台1105的一个或多个服务器与网络1110进行通信,网络1110可以与互联网和/或任何上述示例网络中的任何一个或多个对应。在一些示例中,作为商业交易的部分,一个或多个服务器响应于请求以将软件发送到请求方。对于软件的交付、销售和/或许可的支付可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体处置。服务器赋能购买者和/或许可方从软件分发平台1105下载计算机可读指令882。例如,可以与图8的示例计算机可读指令882对应的软件可以下载到示例处理器平台1100(例如,示例已连接边缘设备),示例处理器平台1100将要执行计算机可读指令882以实现软件指令。在一些示例中,软件分发平台1105的一个或多个服务器以通信方式连接到示例计算机可读指令882的请求和传输必须通过的一个或多个安全域和/或安全设备。在一些示例中,软件分发平台1105的一个或多个服务器周期性地供给、发送和/或强制对软件(例如,图8的示例计算机可读指令882)的更新,以确保改进、补丁、更新等分发到并且应用于端用户设备处的软件。
在图11所示的示例中,计算机可读指令882以特定格式存储在软件分发平台1105的存储设备上。计算机可读指令的格式包括但不限于特定代码语言(例如,Java、JavaScript、Python、C、C#、SQL、HTML等)和/或特定代码状态(例如,非编译型代码(例如,ASCII)、解释型代码、链接型代码、可执行代码(例如,二进制)等)。在一些示例中,软件分发平台1105中存储的计算机可读指令882当发送到示例处理器平台1100时呈第一格式。在一些示例中,第一格式是特定类型的处理器平台1100可以执行的可执行二进制。然而,在一些示例中,第一格式是需要一个或多个准备任务以将第一格式变换为第二格式以赋能示例处理器平台1100上的执行的未编译的代码。例如,接收处理器平台1100可能需要编译呈第一格式的计算机可读指令882以生成能够在处理器平台1100上执行的呈第二格式的可执行代码。在又其他示例中,第一格式是解释型代码,其在到达处理器平台1100时由解释器解释以促进指令的执行。
H.边缘计算网络中的机器学习
机器学习(ML)涉及计算机系统使用算法和/或统计模型以在不使用显式指令的情况下但反而依赖于模式和推断执行特定任务。ML算法基于样本数据(称为“训练数据”等)构建数学模型(称为“ML模型”等)),以在没有显式编程以执行这些任务的情况下进行预测或决策。ML算法对相对大的数据集执行训练过程,以估计基础ML模型。通常,ML算法可以指代从关于某任务和某性能测度的经验进行学习的计算机程序,并且ML模型可以是在用一个或多个训练数据集训练ML算法之后创建的任何对象或数据结构。在训练之后,ML模型可以用以对新数据集进行预测。虽然术语“ML算法”指代与术语“ML模型”不同的概念,但为了本公开的目的,可以可互换地使用本文所讨论的这些术语。在一些情况下,ML模型可以包括人工神经网络(NN),其基于已连接节点(“神经元”)的集合,并且每个连接(“边缘”)从一个节点向其他节点发送信息(“信号”)。接收信号的神经元使用激活函数处理信号,并且然后基于处理向其他神经元发信号。神经元和边缘典型地具有随着学习进行而调整的权重。权重可以增加或降低连接处的信号的强度。
线性回归是一种类型有监督ML算法,其用于分类、股市分析、天气预测等。梯度下降(GD)算法可以用在线性回归中。给定由参数集合定义的函数,GD算法开始于初始参数值集合,并且迭代地朝向使函数最小化的参数值集合移动。通过在函数梯度的负方向上采取步骤实现这种迭代最小化。在一些GD实现方式中,迭代地更新模型,其中,在每个时期中执行大矩阵和矢量的乘法。时期可以指代在更新模型的迭代过程中执行的机器学习的轮次。由于用于GD算法的训练阶段可能涉及大量的迭代计算,因此运行GD算法可能是在计算方面是密集的。此外,随着模型阶数在大小方面增长,计算时间迅速成为瓶颈。
分布式计算已经用以通过将GD计算卸载到多个辅助计算节点减少训练时间。然而,将GD计算分布到异构计算环境(例如,包括多个客户端或边缘设备的环境)是困难的,因为在多数情况下,可用的边缘设备具有不同的配置、能力,并在不同的条件下进行操作。此外,许多边缘设备使用无线链路进行通信,无线链路当与服务器群中使用的有线链路相比时具有更低可靠性(即,鉴于链路质量和可实现的数据速率)。归因于较慢的计算设备和/或具有低质量无线电链路的计算设备,这些计算环境的异构性质可能导致在训练的每个轮次(或“时期”)的较长滞后时间。出于这些原因,传统分布式ML训练方法不能直接应用于异构计算环境。最近,已经提出用于分布式GD计算的联邦学习,其中,学习由受中央服务器(其在本文中可以称为MEC服务器或控制器节点)协调的客户端计算节点(其在本文中也称为“客户端设备”)的联邦而发生。
联邦学习(其中,在将训练数据保持在客户端本地的同时,用与客户端计算节点/客户端节点/客户端的联邦的协调训练全局模型)是本文待考虑的问题之一。联邦学习协议迭代地允许客户端从服务器(例如,MEC服务器、边缘服务器或云服务器)下载集中受训练的人工智能/机器学习模型(或模型),用它们自己的数据更新它,并将模型更新(例如,梯度更新)上传回到服务器。例如,模型更新可以包括用于NN模型的节点的更新权重值。服务器然后聚合来自多个客户端的更新,以更新全局模型。高度期望通过无线边缘网络的联邦学习,因为在边缘服务器可以利用客户端的计算能力以加速训练的同时,可以在客户端处本地维护数据。
在联邦学习中,可以经由基于数据集{(Xk,yk)}k=1,…,m的有监督机器学习问题(例如,GD算法)执行训练,以学习基础模型参数β∈Rd,其中,Xk是总训练数据,k是Xk中的数据点(或训练符号)数量,其中,k=k到m,并且yk是与Xk中的数据中的每一个相关的关联模型等级(例如,其中,基础模型是单级或多级模型)。每个训练标签是训练符号Xk=[xk,1,…,xk,d]∈R1×d的行矢量,并且yk∈R是关联标量测量。在线性模型下,训练数据可以由公式(A0)表示。
Y=Xβ+n#(A0)
在公式(A0)中,β是待创建的模型,X是输入数据,并且Y是输出变量。此外,对于公式(A0),
GD是用以通过在由负梯度定义的最陡下降方向上迭代地移动使目标函数最小化的优化算法。ML中的GD的目标是利用训练数据集D,以在一个或多个时期r上准确地估计未知模型β。在ML中,GD用以更新未知模型β的参数。参数指代线性回归中的系数和NN中的权重。通过以下操作以迭代方式实现这些目标:在第r时期计算β(r),并且评估与由f(β(r))=||Xβ(r)-Y||2定义的方差代价函数关联的梯度。代价函数指示模型β在对于给定的参数集合进行预测时的准确程度。代价函数有对应曲线和对应梯度,其中,代价函数曲线的斜率指示应如何改变参数以使模型β更准确。换言之,模型β用以进行预测,并且代价函数用以更新用于模型β的参数。上述方差代价函数的梯度由公式(A1)给出,并且β(r)根据公式(A2)在每个时期r得以更新。
在公式(A2)中,m是观察(即,数据点)的总数量,μ是用于向下移动特定梯度的学习速率(也称为更新参数或步长大小),其中,)<μ≤1,并且是基于模型β(r)的预测。GD涉及串行计算公式(A1)和(A2),直到模型参数充分收敛。公式(A1)中的梯度涉及与大尺寸的矩阵和矢量有关的乘法。因此,随着数据集和模型参数变得巨大,GD在计算上变得难以承受。
为了满足公式(A1)的计算需求,边缘计算节点可以从它们的各个局部数据集局部计算部分梯度,并且将所计算的部分梯度传递回到中心节点以用于聚合。图12描绘边缘计算环境1200中的联邦学习的示例。在所示示例中,每个客户端计算节点1202从耦合到接入点1210(例如,基站)的中央服务器1208(例如,MEC服务器)拿取或以其他方式获得全局模型1204,使用其局部数据或由中央服务器提供的数据(例如,大训练数据集D的子集)更新全局模型的各方面(例如,全局模型中使用的模型参数或权重(例如,NN节点权重)),并且将对全局模型的更新传递到中央服务器1208。中央服务器1208然后对接收的更新进行聚合(例如,取平均),并且基于所聚合的更新获得最终全局模型(例如,基于从客户端接收的权重值的平均值更新模型权重值)。联邦学习可能比异步更新方法更高效,因为它避免中央服务器和工作方计算节点二者处的难以承受的数量的模型更新。
如本文所述,模型更新或对全局模型的更新可以包括用以构造全局模型的值集合。例如,在全局模型是NN模型的情况下,客户端或服务器可以执行机器学习,以获得用于NN的各个节点的更新后的值。这些值可以由节点聚合(例如,由服务器取平均),并且所聚合的节点权重值可以用于NN的未来实现方式。
本文所述的中央服务器可以指代充当对于边缘计算环境的其他边缘计算节点的服务器的边缘计算节点。在一些实施例中,本文描述为由中央服务器执行的功能或操作可以由多个服务器执行。例如,本文描述的一些示例实施例包括向中央服务器提供能力数据、模型更新或其他参数的客户端,但是这些能力数据、模型更新或参数可以由客户端提供给不同的中央服务器。可以如本文进一步描述的那样在结构上形成中央服务器。例如,中央服务器可以被配置为配合在服务器机架(例如,1U或多单元机架设备)的单元内,或者可以被配置为配合在滑动件内。在一些实例中,本文描述的中央服务器可以实现为“MEC服务器”。然而,应理解,任何类型的服务器(例如,边缘服务器、云服务器、驻地服务器等)可以用在替选方案中。本文描述的服务器(例如,MEC服务器)可以被构造为配合在本文描述的任何结构实施例内。例如,服务器(例如,MEC服务器)可以被配置为配合在服务器机架或滑动件内,例如,如本文更详细描述的那样。
此外,本文描述的客户端(或客户端计算节点)可以指代由一个或多个其他边缘计算节点(例如,以上所描述的中央服务器)服务、控制或以其他方式命令的边缘计算节点。例如,如本文所描述的那样,客户端基于来自另一节点(即,中央服务器)的信息和/或命令执行机器学习。客户端设备可以包括服务器设备(例如,在结构上被配置为如本文所描述的那样(例如,配合在服务器机架或滑动件内)的设备、移动计算设备(例如,平板、智能手机等)),或者可以包括另一类型的计算设备。
通过该技术,公式(A1)可以分解为m个部分和,如公式(A3)所示。
更具体而言,用于第i设备的训练数据集X(i)和关联标签矢量y(i)可以由下式给出
其中,β(r)是全局模型的估计。部分梯度传递到中心节点以用于聚合,并且全局梯度可以由下式给出:
模型可以由中央服务器更新为
在以下章节I-S中,客户端计算节点与用于用对其可用的数据(例如,客户端计算节点可能希望保持私有的数据)训练模型的任何边缘计算节点对应。
在以下章节I-S中,根据一些实施例,仅通过示例的方式,可以在取决于应用嵌入协议栈的L1/L2/L3层中的应用编程接口(API)上、物理(PHY)层上、或无线标准(例如,802.11标准族或第三代合作伙伴计划(3GPP)长期演进(LTE)或新空口(NR或5G)技术规范族)中阐述的介质访问控制(MAC)层上发送/接收第一边缘计算节点与第二边缘计算节点之间或客户端计算节点与中央服务器之间的消息或通信。根据一些实施例,消息或通信可以涉及参数交换,以允许估计无线谱效率,并且在此情况下,它可以在协议栈的L1层上得以发送/接收。根据一些实施例,消息或通信可以涉及预测边缘计算节点睡眠模式,并且在此情况下,它可以在协议栈的L2层上得以发送/接收。根据一些实施例,可以在传送网络层、互联网协议(IP)传送层、通用无线电分组服务隧道协议用户平面(GTP-U)层、用户数据报协议(UDP)层、IP层上、控制平面协议栈的层(例如,NAS、RRC、PDCP、RLC、MAC和PHY)上、用户平面协议栈的层(例如,SDAP、PDCP、RLC、MAC和PHY)上发送或接收消息或通信。
I.用于经编码联邦学习中使用的非线性编码技术
在特定实例中,经编码标签可能与对应训练数据不是线性相关的。因此,特定实施例可以通过以下操作生成与经编码数据关联的训练标签:首先使用基于内核的技术近似训练数据与标签集之间的局部非线性,并且然后将所学习的局部内核应用于所生成的经编码数据集具体而言,存储在第i设备处的训练数据集可以称为学习方法的总体目标是利用来自所有客户端设备i=1,…,n的训练数据集,以准确地估计可以用于未来推理的非线性模型β。典型地,NN用于近似β。
基于梯度下降的反向传播。NN的输出与真实标签进行比较,以计算由公式AQ1给出的该训练样本的误差。
e=yo-y#Eq.(AQ1)
并且方差的梯度针对所有权重和所涉及的偏差加以计算。在该示例中,梯度由公式AQ2a、AQ2b、AQ2c和AQ2d给出。
其中,梯度反向传播由公式AQ3明确给出。
在小批量梯度下降算法中,以小批量在所有训练数据点上累积梯度,并且然后如公式AQ4和AQ5更新NN权重和偏差,其中,B是小批量大小。
对局部训练数据进行编码涉及:对每个客户端设备处可用的去中心化的训练数据集不相交地执行随机线性编码。类似线性情况,第i设备使用具有从标准正态分布或伯努利分布独立地抽取的元素的维度的随机生成矩阵Gi(其也可以称为“编码矩阵”),应用于局部训练数据集X(i)上,以获得由公式AQ6表示的经编码训练数据集
为了讨论的目的,在所描述的特定示例中启发式地选取编码冗余c。此外,使用随机线性码是为了简单揭示DNN中的经编码计算的益处。
对标签进行编码。在非线性场景中,对于标签的编码可能非常是非常有挑战性的。由于原始训练数据集X(i)和其关联标签集Y(i)具有非线性关系,因此可能无法通过对原始标签集直接应用Gi生成经编码标签集。这是与对于线性模型的编码的一个关键区别。为了克服这个挑战,本文的实施例可以实现一种技术,其中,使用基于内核的方法近似每个设备处的局部非线性函数。具体而言,给定原始数据集(X(i),Y(i)),其中,存在训练数据点和内核函数K(xk,xj),可以如由公式AQ7给出的那样计算内核系数。
其中,内核函数可以是例如公式AQ8所示的高斯函数。
上述最小化可以精简为公式AQ9。
Ki(Kiαi-y(i)) Eq.(AQ10)
一旦获得内核系数,用于第i设备处的第k经编码数据点的经编码标签就由公式AQ11生成。
在本文讨论的任何实施例中,可以从涉及跨越边缘计算节点的数据的任何预处理的协议交换截取部分梯度参数的交换。中央边缘服务器/控制器节点处的梯度计算(例如,训练数据)也可以用于实践本文所讨论的实施例,这与传统ML技术不同。在一些实现方式中,可以利用专用硬件以在边缘服务器和/或边缘计算节点处运行训练算法。此外,边缘计算节点可以对其局部数据执行附加的基于内核的嵌入,这与标准ML技术相比可能涉及附加和/或替选计算。也可以用MSE损失(例如,经编码标签可以具有负条目)而不是互熵损失(经编码标签必须具有正条目)完成经编码数据上的训练。
在本文讨论的任何实施例中,可以根据所实现的边缘系统和/或通信协议传递边缘计算节点与边缘服务器之间的数据的交换。这样的通信和/或ML训练技术可以标准化,或以其他方式(例如,ETSI MEC等)在合适的边缘计算标准中指定。附加地或替代地,也可以从各个边缘计算节点和/或各个边缘服务器检查/拦截利用本文所讨论的实施例所需的信息(例如,能力信息)。在本文讨论的任何实施例中,梯度的计算(例如,训练)可以发生在边缘服务器处,这与常规/传统联邦学习方法不同。在一些实现方式中,可以利用边缘计算节点和/或边缘服务器处的专用硬件以运行本文讨论的训练算法。
图13是示出根据特定实施例的执行经编码联邦学习的示例过程1300的流程图。示例过程可以实现于软件、硬件、固件或其组合中。例如,在一些实施例中,所示示例过程中的操作可以由边缘计算节点的一个或多个组件(例如,相似于图12的客户端计算节点1202的客户端设备的处理器)执行。在一些实施例中,一个或多个计算机可读介质可以编码有指令,其当由机器(例如,计算节点的处理器)执行时实现以下示例过程中的操作中的一个或多个。示例过程可以包括附加的或不同的操作,并且操作可以按所示顺序或按另一顺序加以执行。在一些情况下,图13所示的操作中的一个或多个实现为包括多个操作、子过程或其他类型的例程的过程。在一些情况下,操作可以加以组合、以另一顺序执行、并行执行、迭代、或以其他方式重复或以另一方式执行。
在1302,在客户端计算节点1350处计算内核系数。可以基于内核函数以及原始训练数据集X(i)及其关联标签集Y(i)计算内核系数,如上所述。在一些实例中,可以经由梯度下降法计算内核系数。内核函数可以是高斯函数。在一些实施例中,客户端计算节点可以从中央服务器1360获得用于它们所驻留的边缘计算环境的所有客户端计算节点的训练数据的全局均值和标准差。客户端计算节点可以使用全局均值和标准差信息,以对其局部训练数据集进行归一化,并且可以基于归一化的局部训练数据集确定内核系数。
在1304,生成例如如上所述的随机编码矩阵。在1306,编码矩阵可以用以生成经编码训练数据集。例如,可以通过将编码矩阵与局部原始训练数据集相乘计算经编码训练数据集。可以如上所述基于标准或伯努利(1/2)分布生成编码矩阵。在1308,基于在1302计算的内核系数、内核函数和局部原始标签集生成经编码标签集。客户端计算节点1350然后将经编码训练数据集和经编码标签集发送到中央服务器1360,并且CFL技术可以从那里得以实现。
具体而言,在1310,客户端计算节点1350计算模型更新(例如,经由如上所述的反向传播技术的用于全局ML模型的部分梯度),并且将模型更新发送到中央服务器。中央服务器1360在1312使用经编码训练数据和标签数据以计算模型更新(例如,部分梯度),并且然后在1314聚合不同的模型更新,以更新全局ML模型。聚合可以包括模型更新的平均(例如,直接或加权平均)。例如,在模型更新包括模型权重值的情况下,聚合可以包括模型权重值的平均。
J.保护非线性模型估计的隐私
神经网络(NN)已用以学习特征与标签之间的关系。虽然NN在估计这些非线性关系方面已经非常成功,但是它们可能涉及训练中的非线性,使训练过程成为计算密集的。此外,NN的大小非常大,这导致用于在边缘计算环境(例如,图12的环境1200)内发送模型的高存储器占用以及高通信开销。
因此,在特定实施例中,基于随机特征映射的内核嵌入可以用于使训练过程线性化,导致参数计数以及通信开销的急剧减少。此外,对变换后的特征的训练是线性回归,其与基于NN的训练相比是更易于执行的。具体而言,本文的实施例提供一种新颖分布式策略,以经由使用内核嵌入方法的数据变换使联邦学习问题线性化,以用于从边缘节点处可用的去中心化非IID数据加速联邦学习。中央服务器发送用于内核嵌入的超参数和用于随机数生成器的公共种子。每个客户端设备使用基于随机特征映射的内核嵌入变换局部数据特征。此后,在每个通信轮次/时期中,中央服务器可以对客户端计算节点集合进行采样,将当前模型发送到选定客户端节点,并且选定客户端计算节点中的每一个可以使用更新后的模型对其经变换数据独立运行线性回归并且将更新后的模型发送到中央服务器。中央服务器然后对从选定客户端接收的模型进行聚合并平均。
这些技术可以提供一个或多个优点。例如,因为客户端计算节点仅共享模型更新,所以数据隐私得以保留。此外,与NN训练相比,关于测试准确度的收敛速度可以显著加速。此外,与NN训练相比,模型大小可以显著减小,导致更低的存储器占用,并且对经变换数据的线性回归导致比NN训练中的复杂非线性运算更快的处理,因此,在收敛与时间方面对NN提供卓越的性能。
经由基于随机特征映射的内核嵌入的数据预处理。在许多实例中,第i客户端计算节点处的训练数据点xi与对应标签yi之间的关系表示如下:g(xi)≈yi,其中,g(·)典型地是xi的非线性函数。在特定实施例中,在更高维度中使用线性函数估计函数g(·)。为了实现这一点,每个客户端计算节点可以使用随机傅立叶特征映射(RFFM)将其输入训练数据(例如,xi)映射到更高维度。RFFM使用以下映射将输入矢量xi∈R1×d映射到
RFFM(.):R1×d→R1×s,RFFM(xi)=cos(xiΩ+b)#Eq.(AR1)
其中,Ω∈Rd×s,b∈R1×s和余弦是逐元素应用的。用于Ω和b的条目从分布加以采样,以使得满足以下性质:
高斯内核函数隐含地测量无限维空间中的输入数据点之间的相似性,因此提供用于逼近任何非线性函数的能力。如果Ω中的列是从抽取的IID,并且b中的元素是从均匀(0,2π]抽取的IID,则上述逼近成立。标签矢量不受修改。
因此用修改后的训练数据集完成有监督学习问题:
其中
其中,||·||F表示Frobenius范数。关于上述损失函数的迭代最小化,我们使用梯度下降。梯度下降法的目标是利用训练数据集以准确估计未知模型β。该目标通过以下操作以迭代方式得以实现:在第r时期计算β(r),评估与如下定义的方差代价函数关联的梯度。上述代价函数的梯度由公式AR4给出。
根据公式AR5在每个时期更新β(r)。
其中,)<μ是更新参数,并且β(0)可以任意初始化。
分布式计算方法。
当训练数据集分布跨越边缘设备时,每个设备可以在本地计算部分梯度并且将其传递到中央服务器,中央服务器聚合接收到的部分梯度,以更新模型,并且将更新后的模型传递回边缘设备。更具体而言,可以直接观察到,公式(1)可以分解为n个部分和,如公式AR6所示。
鉴于上述数据分配,公式AR5的更新可以重写为如下公式AR7。
公式AR7示出更新后的全局模型实际上是客户端计算节点处的更新后的局部模型的加权和。这指示联邦学习中的方法之一背后的动机,其中,中央服务器随机选择客户端节点的子集,客户端节点使用其局部数据集进行多个局部更新,而中央服务器聚合局部模型更新以获得对模型的全局更新。这有助于减少通信负载,因为客户端中的每一个可以在将更新传递到中央服务器之前执行多个局部步骤。此外,归因于大的数据集大小,可以经由SGD执行训练过程,其中,过程分批在整个数据集上进行迭代。
图14示出用于根据特定实施例的特征映射、局部训练和全局聚合的示例过程1400的流程图。过程1400涉及在基础设施服务器与无线边缘设备之间交换链路适配信息、计算参数、随机特征映射参数以及局部模型更新和全局模型更新。过程1400可以集成到移动/边缘网络架构标准和/或规范开发(例如,ETSI MEC)中。附加地或替代地,过程1400也可以是设备与服务器之间的应用级交换。在一些实施例中,所示的示例过程中的操作可以由边缘计算节点的一个或多个组件(例如,相似于图12的客户端计算节点1202的客户端设备的处理器)执行。在一些实施例中,一个或多个计算机可读介质可以编码有指令,其当由机器(例如,计算节点的处理器)执行时实现以下示例过程中的操作中的一个或多个。示例过程可以包括附加的或不同的操作,并且操作可以按所示顺序或按另一顺序加以执行。在一些情况下,图14所示的操作中的一个或多个实现为包括多个操作、子过程或其他类型的例程的过程。在一些情况下,操作可以加以组合、以另一顺序执行、并行执行、迭代、或以其他方式重复或以另一方式执行。
示例过程1400开始于操作1403,其中,客户端计算节点1491向中央服务器1493提供操作参数。操作参数可以与先前讨论的操作参数相同或相似,并且可以通过与先前讨论的相同或相似的方式提供给中央服务器1493。在操作1406,周期性地更新操作参数。操作1403和1406可以在过程1400期间(包括在下文讨论的过程1400的其他操作中的操作期间)根据需要(例如,在周期性的基础上)重复。
在操作1409,中央服务器1493确定各种ML计算参数(例如,局部更新和全局聚合的频率、局部批量大小、带宽参数、用于随机特征映射的随机数生成器、随机特征维度和/或其他类似参数)。在操作1412,中央服务器1493将ML计算参数提供给客户端计算节点1491。在操作1415,客户端计算节点1491使用随机特征映射(例如,通过将随机傅立叶特征映射(RFFM)变换应用于数据)将原始训练数据嵌入到更高维度中。在操作1418,客户端计算节点1491报告用于生成随机特征的各个时间。在操作1421,中央服务器1493初始化全局模型,并且在操作1424,中央服务器1493将全局模型发送到参与计算节点1491。在操作1427,客户端计算节点1491通过对所嵌入的训练数据和原始标签Y(i)进行训练计算模型更新。在操作1430,客户端计算节点1491将更新后的权重返回中央服务器1493。在操作1433,中央服务器1493聚合接收到的权重,以获得新的全局权重。在操作1436,在客户端计算节点1491与中央服务器1493之间共享局部权重和所聚合的权重。重复操作1427-1436,直到模型收敛。
在实施例中,可以从涉及跨越计算节点1491的数据的预处理的协议交换截取内核嵌入参数的交换。此外,可以在边缘服务器(例如,中央服务器/主机)处完成梯度(例如,训练)的计算,这与传统联邦学习技术不同。在一些实现方式中,可以利用专用硬件以运行训练算法,因为具有内核嵌入的训练没有如NN训练中涉及的那样的非线性。此外,计算节点1491可以对它们的局部数据执行附加的基于内核方法的嵌入。用MSE损失(例如,经编码标签可以有负条目)而不是互熵损失(例如,经编码标签具有正条目)完成对经编码数据的训练。
在本文讨论的任何实施例中,可以从涉及跨越客户端计算节点的数据的任何预处理的协议交换截取内核嵌入参数的交换。中央服务器处的梯度(例如,训练数据)的计算也可以用于实践本文讨论的实施例,这与传统联邦学习技术不同。在一些实现方式中,可以利用专用硬件以在边缘服务器和/或客户端计算节点处运行训练算法,因为具有内核嵌入的训练没有如NN训练中涉及的那样的非线性。此外,客户端计算节点可以对其局部数据执行附加的基于内核方法的嵌入,这与标准联邦学习方法相比可能涉及附加和/或替选计算。也可以用MSE损失(例如,其中,经编码标签可以具有负条目)而不是互熵损失(例如,其中,经编码标签必须具有正条目)完成对经编码数据的训练。
K.用于故障缓解的数据编码技术
如上所述,训练数据点xi与对应标签yi之间的关系可以表示为如公式AS1中所示
g(xi)≈yi#(AS1)
其中,g(·)典型地是xi的非线性函数。DNN一般用以逼近g(·)。在本文的实施例中,可以基于内核嵌入技术生成经编码训练数据集,并且可以对于中央服务器可以用以在经编码联邦学习(CFL)中计算模型更新的经编码训练数据生成对应标签。
基于随机特征映射的经编码数据生成。考虑第i边缘设备,其中,i∈{1,…,n}具有li个输入-输出对:
由第i设备生成的经编码数据的量由(可以由中央服务器指定的)δi控制,其为第i设备应生成的经编码数据点数量。本文的实施例可以对局部训练数据集X(i)执行线性随机编码,以获得经编码训练数据集在特定实施例中,第i设备使用具有从均匀U(0,1)分布独立地抽取的元素的维度δi×l i的随机生成矩阵Gi(其也可以称为编码矩阵),并且每行被归一化以具有等于1的和,以使得每个经编码特征处于原始特征的凸包中。因此,对于经编码训练数据,我们具有以下:
为了获得用于经编码训练数据的对应经编码标签,可以使用内核嵌入方法,其中,通过以下操作将原始和经编码训练数据映射到更高维度:使用随机傅立叶特征映射(RFFM),关于内核嵌入式原始特征和标签学习线性模型,然后使用所学习的模型以生成用于经编码特征的标签。接下来提出每个步骤的细节。
RFFM(·):R1×d→R1×s,RFFM(xk)=cos(xkΩ+b)#(AS3)
其中,Ω∈Rd×s,b∈R1×s和余弦是逐元素应用的。用于Ω和b的条目从分布加以采样,以使得满足以下性质:
其中,表示具有带宽参数σ2的高斯内核函数。高斯内核函数隐含地测量更高维空间中的输入数据点之间的相似性。如果Ω中的列是从抽取的IID,并且b中的元素是从均匀(0,2π]抽取的IID,则上述逼近成立。标签矢量不受修改。另一方法是使用随机厨房水槽(random kitchen sinks)。
以下表示原始特征的随机特征映射:
此后,第i边缘设备经由梯度下降执行线性回归,以在其随机特征集和对应标签上估计模型。具体而言,我们学习模型参数β(i)∈Rs,以使得以下目标函数迭代地最小化:
其中,||·||F表示Frobenius范数。关于上述损失函数的迭代最小化,我们使用梯度下降。梯度下降法的目标是利用训练数据集以准确估计未知模型β(i)。该目标通过以下操作以迭代方式得以实现:在第r时期计算评估与由公式AS7定义的方差代价函数相关的梯度。
接下来,在经编码数据上执行随机特征映射,以获得用于经编码特征的内核嵌入:
经编码数据集发送到中央服务器,每当来自第i边缘设备的局部更新不处于中央服务器处时,中央服务器就可以使用它以从(X(i),Y(i))逼近NN更新。在保持关于客户端计算节点的训练数据的数据隐私的同时,中央服务器可以然后使用经编码数据集以计算本文描述的全局模型更新。
分布式计算方法。
在存在边缘设备故障的情况下的分布式NN训练的实现方式可以假设w表示我们有兴趣学习的NN中的可训练参数(例如,权重、偏差等)。在NN训练中常见的是,使用梯度下降对NN进行更新,其中,使用关于数据的前向传递跟随后向传递获得每个数据点上的部分梯度。此外,我们使用标准均方差(MSE)损失以用于训练。此外,NN训练中的常见策略是随机梯度下降(SGD),其中,按数据的批量执行训练,并且对于每个批次,在批量上的前向-后向传递之后更新模型。
在训练的开始时,边缘设备中的每一个找到经编码数据集,并使用内核嵌入发送到控制器中央服务器。在训练期间,对于给定的全局时期r,仅边缘设备的子集参与第r全局时期,例如,其可以由控制器节点随机选择,以使带宽开销最小化。控制器节点将当前全局模型传递到客户端,并且客户端对其局部原始数据执行训练的多个局部时期。如前所述,客户端通过对于每个小批量对模型进行一次更新使用SGD以用于局部训练。每个客户端处的一个局部时期构成边缘节点处的局部数据的全覆盖。设表示在第r全局时期之后在第i边缘设备处通过局部NN训练获得的模型。MEC接收局部更新后的模型。然而,归因于信道故障或节点退出训练过程,在MEC处可能并未接收到某些更新。由于跨越边缘设备的数据是非IID,因此重要的是,考虑丢失的更新。
为了获得全局模型w(r),控制器将从边缘设备接收的模型更新与中央服务器处生成的模型更新聚合,如公式D2所示。
其中,表示通过在经编码数据集上进行训练模拟丢失第i设备处的局部训练而获得的模型。在此,是在全局权重聚合期间用于的归一化因子。较大的表示来自经编码数据的更新的较大影响,而较小的表示来自原始数据的更新的较大影响。作为启发式,对于我们的实验,我们采取
公式AS10示出,更新后的全局模型实际上是工作方处的更新后的局部模型和边缘系统处的模型更新的加权和。注意,边缘系统直接组合来自经编码数据的更新,并且不存在附加解码复杂性。
图15示出根据特定实施例的用于梯度的编码、负载均衡和分布式计算的示例过程1500的流程图。过程1500涉及在边缘系统控制器节点1593与边缘节点1591之间交换链路适配信息、编码参数、计算参数、经编码数据集以及部分梯度和模型更新。过程1500可以集成到移动/边缘网络架构标准和/或规范开发(例如,ETSI MEC)中。附加地或替代地,过程1500也可以是设备与服务器之间的应用级交换。在一些实施例中,所示示例过程中的操作可以由边缘计算节点的一个或多个组件(例如,相似于图12的客户端计算节点1202的客户端设备的处理器)执行。在一些实施例中,一个或多个计算机可读介质可以编码有指令,其当由机器(例如,计算节点的处理器)执行时实现以下示例过程中的操作中的一个或多个。示例过程可以包括附加的或不同的操作,并且操作可以按所示顺序或按另一顺序加以执行。在一些情况下,图15所示的操作中的一个或多个实现为包括多个操作、子过程或其他类型的例程的过程。在一些情况下,操作可以加以组合、以另一顺序执行、并行执行、迭代、或以其他方式重复或以另一方式执行。
示例过程1500开始于操作1503,其中,客户端计算节点1591向中央服务器1593提供操作参数。操作参数可以与先前讨论的操作参数相同或相似,并且可以通过与先前讨论的相同或相似的方式提供给控制器节点1593。在操作1506,周期性地更新操作参数。操作1503和1506可以在过程1500期间(包括在下文讨论的过程1500的其他操作中的操作期间)根据需要(例如,在周期性的基础上)重复。
在操作1509,控制器节点1593确定各种ML计算参数(例如,局部更新和全局聚合的频率、局部批量大小、带宽参数、用于随机特征映射的随机数生成器、随机特征维度、用于每个客户端计算节点1591的经编码数据集大小和/或其他类似参数)。在操作1512,控制器节点1593将ML计算参数提供给客户端计算节点1591(例如,分派计算参数)。
在操作1515,客户端计算节点1591使用内核嵌入对它们的局部训练数据进行私有编码,以用于标签生成。在操作1518,客户端计算节点1591将各个经编码数据发送到控制器节点1593。在操作1521,控制器节点1593初始化全局模型。在操作1524,控制器节点1593将全局模型(全局更新)发送到参与计算节点1591。在操作1527,客户端计算节点1591通过在所嵌入的特征和原始标签上进行训练计算模型更新。在操作1530,客户端计算节点1591将局部更新后的模型发送到控制器节点1593。
在操作1533,控制器节点1593对于丢失的客户端计算节点1591(例如,不能提供更新或者更新以其他方式丢失的客户端计算节点1591)据经编码数据计算更新。在操作1533,控制器节点1593还聚合接收到的局部更新和来自经编码数据的更新,并细化模型。在操作1536,控制器节点1593将细化的模型发送回到客户端计算节点1591,并且在操作1539,局部权重和所聚合的权重在客户端计算节点1591与控制器节点1593之间共享。操作1527-1539重复,直到模型收敛。
在本文讨论的任何实施例中,与现有ML技术相比,利用局部学习的内核以在设备处生成用于局部经编码数据的标签是独特的。在实施例中,当在经编码特征数据上应用所学习的内核时,用于经编码数据的标签可以匹配。此外,边缘节点可以对其局部数据执行附加的基于内核的训练,以获得βf。与标准/常规联邦学习方法相比,这涉及附加或替选计算。在实施例中,用MSE损失(例如,其中,经编码其中标签可以有负条目)而不是互熵损失(例如,其中,经编码标签可以具有正条目)完成对经编码数据的训练。
在本文讨论的任何实施例中,可以根据所实现的边缘系统和/或通信协议传递客户端计算节点与中央服务器之间的数据的交换。这样的通信和/或ML训练技术可以标准化,或以其他方式(例如,ETSI MEC等)在合适的边缘计算标准中指定。附加地或替代地,也可以从各个客户端计算节点和/或各个中央服务器检查/拦截利用本文所讨论的实施例所需的信息(例如,能力信息)。在本文讨论的任何实施例中,梯度的计算(例如,训练)可以发生在中央服务器处,这与常规/传统联邦学习方法不同。在一些实现方式中,可以利用客户端计算节点和/或中央服务器处的专用硬件以运行本文讨论的训练算法。
L.针对非线性模型的经编码联邦学习
本文的实施例可以关于异构计算环境(例如,边缘计算环境)中的非线性回归问题考虑小批量GD算法的分布式实现方式,其中,在保持节点处的数据是私有的同时,计算和存储资源在大量边缘计算节点处是可用的。具体而言,本文的实施例可以涉及对于具有边缘或客户端设备处局部生成的矢量标签的数据的非线性回归的问题。
使用不同计算节点处可用的数据实现分布式ML的一个主要挑战是确保隐私,因为关于模型计算进行合作的用户希望在其设备上保持其原始数据安全。此外,无线网络(例如,边缘计算网络)本质上是异构的,因为计算节点具有相异的处理速度、无线电能力,并且体验不同的信道质量。此外,无线通信特点在于时变链路质量,这在边缘计算环境中设计ML算法的分布式实现时需要加以考虑。与服务器场处的云计算不同,边缘网络中的边缘节点是同时运行多个进程的非专用计算设备。这导致用于不同任务的处理时间的非确定行为。因此,为了使整体训练时间最小化,数据分布策略应考虑与无线数据传输关联的通信开销以及设备的计算能力。正在考虑可以标定针对密集无线基础设施(例如,V2X、ad-hoc无人机/车载网络、IoT网络、无线传感器网络等)的用途的各种边缘计算用途。
GD是用于许多ML计算的构建块。训练阶段迭代进行,其中,在每个时期中,大的数据集的处理发生,以学习底层模型。在例如文本分类和图像识别之类的问题中,在对特征与标签之间的复杂关系进行建模中已经广泛使用用于非线性回归和分类问题的模型估计。GD用在许多其他ML算法(例如,经由强化学习和深度学习的合作路径规划)中。此外,归因于计算限制并且为了改进收敛性,每个时期中的训练依次按小批量进行,其中,一个模型更新发生在对数据的一个小批量的GD之后。因此,在每个时期中,存在与小批量的数量同样多的模型更新。在分布式设置中,一个全局小批量构成边缘设备处的局部小批量的聚合。
本文的实施例提供一种高效策略,其经由如前所述的随机傅立叶特征映射(RFFM)使用内核嵌入将分布式非线性机器学习问题高效地变换为分布式线性回归问题。具体而言,在使用编码以保护隐私并且还改进可靠性的同时,通过将用于每个小批量的计算的部分卸载到中央服务器,可以在边缘计算环境中利用中央服务器的部署时可用的专用计算能力。在训练的每个小批量中处理的局部数据子集的接近最优大小方面,所提出的方案在估计边缘节点应也是高效的,这建立在下文讨论的实施例之上。
本文的实施例包括:经由从边缘设备处可用的去中心化数据训练的小批量GD算法,跨越单独边缘设备在具有矢量标签的分布式数据上训练非线性模型。实施例利用包括例如链路和处理延迟的操作参数的统计知识。在实施例中,问题经由分布式内核嵌入得以线性化。训练过程的线性化将联邦学习分布在去中心化非IID数据上。将非线性问题变换为线性回归赋能实现高效负载均衡和编码方案,以加速MEC环境中的训练。
实施例还包括:经由如前所述的基于随机傅立叶特征映射的内核嵌入变换具有矢量标签的局部数据。每个边缘设备创建经编码数据,并且将经编码数据发送到控制器节点,以用于每个小批量。在实施例中,随机编码方法用以由每个边缘设备以接近最优编码冗余关于小批量训练不相交地对训练数据进行编码,并且将经编码训练数据上传到边缘服务器。关于每个小批量在每个边缘设备处对具有矢量标签的训练数据进行不相交编码并且仅将编码训练数据与边缘服务器共享确保某种程度的数据保护并减轻隐私之虞。在每个时期中,边缘节点以小批量据未编码训练数据局部计算部分梯度,并在每个小批量之后将部分梯度上传到MEC节点。在实施例中,边缘节点不与彼此或与边缘服务器共享它们的编码系数。
对于每个时期中的每个小批量,中央服务器节点聚合从各个边缘节点接收的部分梯度和从中央服务器处可用的用于对应小批量的经编码训练数据计算的部分梯度,而不招致任何解码复杂性。在实施例中,梯度计算的部分由辅助方(助理)边缘服务器对从边缘设备接收的经编码数据点执行,而大部分梯度计算由每个边缘设备在其局部未编码数据点上私有地完成,并且仅对应部分梯度关于每个小批量与边缘服务器共享。在此,可以取决于局部计算资源(例如,存储器资源、处理器资源和/或其他操作参数)选择全局小批量大小。通常,较小的小批量有助于克服局部最小值,并增加达到更好收敛性的机会,但是较大的小批量对于减少在模型更新期间的收敛性的差异是有用的。中央服务器迭代组合经编码数据点获得的部分梯度与从未编码数据点获得的部分梯度,直到底层模型收敛。过程重复,直到收敛。
在特定实施例中,基于链路质量、处理速度、电池寿命和/或其他操作参数的统计知识跨越边缘设备均衡计算。实施例利用边缘/无线环境中的计算和通信的异构性和随机行为,以将接近最优梯度计算任务分配给边缘设备。与未编码联邦学习相比,训练时间可以显著减少,而原始数据永远不共享,这样减轻隐私之虞。与常规的基于NN的训练相比,实施例提供减少的参数计数,导致更低的存储器占用、处理器资源效率和更高的带宽利用率(例如,更低的信令开销)。在实施例中,基于预期的计算延迟、原始数据的信号质量、计算能力预算和/或其他操作参数对每个边缘节点处的经编码训练数据进行加权,这赋能控制器节点对抗掉队(straggler)效应。本文的实施例可以在所有异构性区域中胜过未编码系统,而不招致解码复杂性。
根据各种实施例,考虑基于数据集D={(xk,yk)}k=1,…,m执行训练的有监督学习问题,其中,m是训练数据点的总数量,是m x d训练符号矩阵,并且是与训练符号矩阵X对应的、包含用于c类的独热(one-hot)标签矢量的m x c矩阵。
数据集的分布跨越边缘计算节点是非IID。训练数据点xi与对应标签yi之间的关系表示如下:g(xi)≈yi,其中,g(·)典型地是xi的非线性函数。
经由基于随机特征映射的内核嵌入的数据预处理。可以在更高维度中使用线性函数估计函数g(·)。为了实现这一点,每个客户端计算节点可以使用随机傅立叶特征映射(RFFM)将其输入特征/训练数据映射到更高维度。RFFM使用以下映射将输入矢量xi∈R1×d映射到RFFM(·):R1×d→R1×s,RFFM(xi)=cos(xiΩ+b),其中Ω∈Rd×s、b∈R1×s和余弦是逐元素应用的。用于Ω和b的条目从分布加以采样,以使得满足以下性质:
在上述公式中,表示具有带宽参数σ2的高斯内核函数,其由控制器节点基于领域知识和迁移学习加以指定。高斯内核函数隐含地测量无限维空间中的输入数据点之间的相似性,因此提供用于逼近任何非线性函数的能力。如果Ω中的列是从抽取的IID,并且b中的元素是从均匀(0,2π]抽取的IID,则上述逼近成立。标签矢量不受修改。用于RFFM的另一方法称为“随机厨房水槽”,其中,用修改后的数据集完成有监督学习问题。
在上述公式中,||·||F表示Frobenius范数,并且λ是用于避免过拟合的正则化参数。梯度下降可以用于上述损失函数的迭代最小化。典型地,归因于过程是经由SGD执行的,数据集是非常大的,其中,过程按批量在整个数据集上进行迭代。
小批量梯度下降法的目标是利用训练数据集以准确估计未知模型β。假设数据集划分为B批量,其中,使用b∈{1,…,B}索引批量。该目标通过以下操作以迭代方式得以实现:在第r时期中对于第b小批量计算β(r,b),评估与如下定义的方差代价函数关联的梯度:
在上面的公式中,表示第b小批量中的数据子集,并且β(r,b-1)表示在对于第r时期的第(b-1)小批量更新的结束时的模型,其中,β(r,0)表示在第(r-1)时期的第B小批量更新的结束时的所估计的模型。上述代价函数的梯度由公式AT5给出,并且β(r,b)是根据公式AT6获得的。
在公式AT5和AT6中,μ是更新参数,并且β(1,0)可以任意初始化。小批量梯度下降法涉及串行计算公式AT5和AT6达足够数量的时期r,直到模型参数充分收敛。显然,公式AT5中的梯度涉及与大矩阵和矢量有关的乘法。因此,随着数据集和模型参数变得巨大,GD在计算上变得难以承受。
分布式计算方法。当训练数据集分布跨越边缘设备时,具有数据点的第i设备可以局部计算其B小批量上的部分梯度(其中,第b小批量是大小以使得并且将它们传递到中央边缘服务器/控制器节点,中央边缘服务器/控制器节点聚合接收到的部分梯度,以更新模型,以在跨越边缘设备在整个数据集上全局模拟小批量训练,并且将更新后的模型传递回到边缘设备。受此观察的启发,我们可以将公式AT5重写为n个部分和的集合,如公式AT7。
在未编码的分布式小批量梯度计算中,客户端计算节点计算公式AT7中与它们的各个数据子集对应的部分和,以评估部分梯度并且将它们发送回到控制器设备以用于组合。控制器设备可以然后使用公式AT6以更新模型,并且将更新后的模型传递回到工作设备。过程重复,直到达到足够的收敛。
在异构计算环境(例如,边缘计算系统/网络(例如,MEC环境))中,非专用计算设备用于按需分布式梯度计算。因此,每个设备可以具有不同的处理速率、存储器约束和在其上运行的活动过程。用于以统计方式表示这种异构性的一种方式是对于给定小批量将每个设备处的计算时间建模为移位指数随机变量给出为 其中,确知分量取决于处理速率和分派给第i设备的数据点数量,并且随机分量对出自在用于计算第i设备处的部分梯度的乘法累加操作期间涉及的存储器读/写周期的随机性进行建模。
此外,控制器节点与边缘(工作方)节点之间的无线通信链路具有链路质量的随机波动。为了维持可靠的服务,在周期性测量无线链路并调整可实现的数据速率的情况下,链路适配变为当务之急。具体而言,用于第b小批量更新的控制器节点与第i工作方设备之间的无线链路由下式给出:其中,ri (b)是每信道使用的可实现比特,以具有小于的擦除概率。为了在整个梯度计算期间保持恒定擦除概率q,可以相对于不断改变的链路质量动态地适配速率ri (b)。
归因于出自计算时间或链路质量或二者的掉队者效应,根据公式AT7执行的未编码梯度计算方法执行得不佳。由于分布跨越节点的数据是非IID的,因此可能必须关于更准确的结果组合来自所有工作方的更新。接下来,提供一种通过使用专用边缘服务器并限制工作方处的计算应对这种掉队者效应的编码方法。这些实施例借助例如在美国专利申请No.16/235,682中讨论的概念,该专利申请通过其完整引用并入本文。
对训练数据进行编码。在实施例中,具有大处理和通信能力的边缘服务器用以通过关于每个小批量从经编码训练数据执行部分梯度协助执行GD算法,以对抗掉队效应。
对于每个小批量b∈{1,…,B},对分布跨越所有设备的全局小批量训练数据集执行线性随机编码。为此,第i设备使用具有从标准正态分布独立抽取的元素的维度的随机生成矩阵G(i,b),并应用于加权的局部训练数据集,以获得经编码小批量训练数据集其中,并且
编码冗余δ(b)取决于对于第b全局小批量跨越所有边缘节点和边缘服务器观察到的计算、通信和功率预算的异构性,并且可以使用以下讨论的负载均衡算法显式地加以计算。矩阵W(i,b)是对角矩阵,其以不同方式对中的每个训练数据点进行加权。权重计算也在下文讨论。
局部经编码训练数据集发送到边缘服务器,而生成器系数不共享。因此,本文的编码实施例在每个边缘设备处保持训练数据的安全性。在中央服务器处,例如,根据公式AT8,组合从所有边缘设备接收的局部经编码训练数据集,以获得整体经编码数据集
在公式AT8中,G(b)和W(b)在边缘系统处是未知的。相似地,用于第b小批量的整体经编码标签集表示为公式AT9。
从公式AT8和AT9,可以观察到已经实现跨越整个全局小批量b的分布式编码。由于这对于任何b∈{1,…,B}成立,因此已经实现跨越整个数据集的分布式编码。
在每个训练时期期间,对于每个全局小批量b,每个边缘设备从其未编码的第b小批量数据集的子集计算部分梯度。从本文讨论的优化实施例获得数据子集的大小。具体而言,给定的边缘设备i从局部可用的未编码数据点数量计算部分梯度,其中,部分梯度然后发送到边缘服务器。
边缘服务器还从δ(b)经编码数据点计算部分梯度,这在假设边缘服务器处的计算能力远大于边缘节点处的情况下总是可用的。因此,在每个训练时期中,控制器节点需要等待与从边缘设备接收的第一到达(m(b)-δ(b))未编码数据点数量对应的部分梯度,其中,表示全局小批量数据集的大小。
编码复杂度。编码复杂度处于δ(b)的量级,其中,在仿真期间已经观察到,在极端异构性时,全局小批量数据大小的30%左右大小的大δ(b)可以显著改进收敛时间。对于使用随机线性码的低复杂度编码,生成矩阵系数可以取自+1和-1的等概率伯努利分布,由此避免编码过程期间的乘法。近年来,对于稀疏生成矩阵的研究自身已经成为活跃的研究领域。
接下来是对于全局小批量b的近似最优编码冗余δ(b)的计算、负载划分、权重矩阵以及从数据的经编码部分计算的部分梯度与从数据的未编码部分计算的部分梯度的组合的讨论。
编码冗余计算和负载划分。达固定时间t(b),在任何时期中从所有边缘设备接收的聚合返回(包括边缘服务器处计算的那些直到t(b))是根据公式AT10定义的随机变量。
在公式AT10中,l(n+1,b)是由边缘服务器使用经编码训练数据局部计算的部分梯度。对于负载分配l(b),返回的期望值R(i,b)(t(b);l(i,b)),i=1,…,n表示第i边缘设备处已经处理的未编码数据点的平均数量,并且控制器已接收对应部分梯度,直到t(b)。注意,在每个聚合实例期间,从经编码数据计算的部分梯度始终在边缘服务器处是可用的,这意味着
相似地,给定时间t(b)所需的编码冗余由公式AT12给出。
在公式AT12中,δup表示中央服务器对于任何全局小批量愿意从客户端计算节点接收的最大经编码负载。上述两个步骤使公式AT10中定义的聚合返回的期望值最大化。
根据公式AT13表示直到时间t(b)的最大期望聚合返回。
mint(b)#Eq.(AT14)
以使得m(b)≤E(R(b)(t(b);l(b)*(t(b))))≤m(b)+∈
对于给定的负载划分该概率可以由第i边缘设备使用计算时间和通信链路的统计特性直接计算。此外,注意,在第i边缘设备处存在从未处理的未编码数据点。对于与这些数据点对应的对角线系数由给出。第i边缘设备可以判断用于小批量b的任何未编码初始数据子集,以在局部处理并在编码之前对应地应用权重。这同样给出数据安全性的另一层。
部分梯度的聚合。在每个时期中,在边缘服务器处存在可用的部分梯度的混合。一个部分梯度集合完全由边缘服务器从由公式AT8和AT9给出的δ(b)经编码训练数据集计算。边缘节点从经编码数据集计算部分梯度,如下:
另一部分梯度集合由边缘设备对其局部未编码数据计算,并发送到控制器节点。控制器节点仅等待接收与前(m(b)-δ(b))数据点的部分梯度。具体而言,控制器节点等待前N个工作方设备,以使得所分配的负载满足来自未编码数据集的所聚合的部分梯度由下式给出:
控制器节点然后使用公式AT17组合两个部分梯度集合。
与用于足够大的δ(b)的经编码数据对应的归一化的部分梯度可以(使用弱大数定律)近似为:
上述关系示出,对于足够大的δ(b),来自经编码数据点的聚合梯度对提供在整个分布式第b全局小批量上的完整梯度的公式AT7进行概率加权。
如公式AT15中所呈现的那样基本上将由边缘设备在未编码训练数据上计算的部分梯度与由边缘服务器在经编码训练数据上计算的部分梯度结合在一起可以有效地视为使用系统代码以对整个数据集进行编码,其中,生成矩阵是并且关于小批量b对整个经编码集合执行完整梯度计算。训练数据的经编码部分的概率加权补偿数据的系统部分在每个时期中按时间在边缘服务器处不可用的概率。归因于链路延迟和计算延迟,从未编码数据集计算的每个部分梯度仅以概率在时间是可用的。因此,平均而言,权重矩阵确保所聚合的梯度收敛到第b全局小批量中的未编码数据的完整梯度。此外,使用本文讨论的实施例,存在零解码复杂度。
图16示出根据特定实施例的梯度的编码、负载均衡和分布式计算的示例过程1600的流程图。过程1600涉及在边缘系统控制器节点1693与边缘节点1691之间交换链路适配信息、编码参数、计算参数、经编码数据集以及部分梯度和模型更新。过程1600可以集成到移动/边缘网络架构标准和/或规范开发(例如,ETSI MEC)中。附加地或替代地,过程1600也可以是设备与服务器之间的应用级交换。在一些实施例中,所示示例过程中的操作可以由边缘计算节点的一个或多个组件(例如,相似于图12的客户端计算节点1202的客户端设备的处理器)执行。在一些实施例中,一个或多个计算机可读介质可以编码有指令,其当由机器(例如,计算节点的处理器)执行时实现以下示例过程中的操作中的一个或多个。示例过程可以包括附加的或不同的操作,并且操作可以按所示顺序或按另一顺序加以执行。在一些情况下,图16所示的操作中的一个或多个实现为包括多个操作、子过程或其他类型的例程的过程。在一些情况下,操作可以加以组合、以另一顺序执行、并行执行、迭代、或以其他方式重复或以另一方式执行。
示例过程1600开始于操作1603,其中,边缘计算节点1691向控制器节点1693提供操作参数。操作参数可以与先前讨论的操作参数相同或相似,并且可以通过与先前讨论的相同或相似的方式提供给控制器节点1693。在操作1606,周期性地更新操作参数。操作1603和1606可以在过程1600期间(包括在下文讨论的过程1600的其他操作中的操作期间)根据需要(例如,在周期性的基础上)重复。
在操作1609,控制器节点1693确定各种ML计算参数(例如,局部更新和全局聚合的频率、局部批量大小、带宽参数、用于随机特征映射的随机数生成器、随机特征维度、用于每个边缘计算节点1691的经编码数据集大小和/或其他类似参数(例如,本文讨论的参数))。在操作5612,控制器节点1693将ML计算参数提供给边缘计算节点5691(例如,分派计算参数)。在操作1615,边缘计算节点1691使用随机特征映射将原始特征私有地嵌入到更高维度中,并且私有地以小批量对局部训练数据进行编码。在操作1618,边缘计算节点1691将各个经编码数据发送到控制器节点1693。在操作1621,控制器节点1693从接收到的经编码私有数据计算部分梯度。
在操作1624,边缘计算节点1691从未编码私有数据计算部分梯度,并且在操作1627,边缘计算节点1691将部分梯度更新发送到控制器节点1693。在操作1630,当足够数量对于细化模型估计是可用的时,控制器节点1693聚合接收到的对局部计算的梯度的部分更新。在操作1633,控制器节点1693将细化的模型更新发送到边缘计算节点1691。在操作1636,部分梯度和细化的模型在边缘计算节点1691与控制器节点1693之间共享,以用于全局小批量训练。操作1624-1639重复,直到模型收敛。
在本文讨论的任何实施例中,可以根据所实现的边缘系统/或通信协议从边缘计算节点1691向边缘服务器1693传递经编码冗余的交换。这样的通信可以标准化,或以其他方式在合适的边缘计算标准(例如,ETSI MEC等)中加以指定。附加地或替代地,也可以从各个边缘计算节点和/或各个边缘服务器检查/拦截利用本文所讨论的实施例所需的信息(例如,能力信息)。在本文讨论的任何实施例中,梯度的计算(例如,训练)可以发生在边缘服务器处1691,这与常规/传统联邦学习方法不同。这可以使用对于运行训练算法所利用的专用硬件得以完成。
M.用于联邦学习的联合计算和通信感知客户端选择
在无线边缘网络上的联邦学习可能面临以下约束:
a)对于联邦学习可用的计算速率和存储器周期跨越客户端并且随着时间可能是异构的;
b)每个客户端处的训练示例数量可能是大大不同的,导致客户端之间的不同计算需求;以及
c)客户端处可用的通信速率/带宽可能是异构的且时变的。
所有上述约束可能导致以下挑战:
A)当从多个客户端收集关于模型的权重更新时,用于服务器处的全局模型的单个更新的时间由最慢的客户端(或“掉队者”,基于计算时间和上传时间的聚合)确定;
B)随后时期需要保持暂停,直到先前时期中的所有客户端已经报告它们的权重更新。已经提出异步更新以克服该问题,但是它们具有自己的缺点。因此,异步联邦学习不处于实施例的范围内;以及
C)缺乏用于可以随着时间变化解决掉队者问题的自适应方法。
一些实施例提出将确保服务器和客户端可以联合确定最佳客户端集合以在每个时期中报告权重更新的方法和协议。
已经提出用于减少上行链路通信成本的方法(例如,使用结构化更新和草图更新)。已经提出确定用于对全局模型执行参数更新的最佳调度的控制算法。然而,这些方法并未规范参与全局更新以使训练过程更加高效的用户。在Nishio等人的Client Selectionfor Federated Learning with Heterogeneous Resources in Mobile Edge,arXiv:1804.08333,2018(下文中,“Client Selection for FL”)中提出一种客户端选择方法,其目的是仅选择基于其资源能力的客户端和可以满足特定延迟期限的客户端。
仅对(鉴于上传时间和计算时间的)快速客户端进行子采样的一个主要挑战是模型发散性的问题。全局模型的收敛性在经验上以客户端的数据从一个客户端到另一客户端是独立同分布(i.i.d)为条件。如果每个随机变量具有与其他随机变量相同的概率分布并且全部是相互独立的,则数据集可以是i.i.d。在缺乏这种数据分布的情况下,跳过来自若干客户端(例如,来自掉队者客户端)的更新可能导致倾斜的更新,并导致仅对于特定数据分布的模型发散/过拟合。
相反,一些实施例提供一种灵活的并且即使在存在非i.i.d数据的情况下也实现收敛时间的减少的方法。一些实施例的一方面涉及协议和算法集合,其用于基于其计算和通信能力对于全局训练时期的每个轮次选择客户端集合。
一些实施例提出MEC服务器与客户端之间的轻量级协议交换以及可以显著加速联邦学习的总训练时间而不影响训练准确度的自适应算法。
根据一些实施例的第一方面,在训练的开始时,服务器可以轮询所有客户端,以使客户端共享对于它们可用的训练示例的数量。这是单次事务,其允许MEC服务器估计客户端计算并且上传模型参数所需的时间。
此外,MEC服务器可以周期性地请求客户端共享它们各个计算速率和通信时间,以估计来自每个客户端的总更新时间。基于上述情况,MEC服务器可以通过关于每个训练轮次将客户端分组为集合执行客户端集合选择过程。在优选实施例中,基于返回计算所花费的时间确定集合中的客户端群组,以使得具有相似返回时间的客户端在一起受调度,以避免等待掉队计算。此外,一些实施例提出一种自适应机制,其中,数据的统计特性(例如,它是否为独立同分布的)和/或所需的准确度用以将算法切换为更积极的模式(例如,挑选具有最快响应时间的客户端),这样可以显著减少收敛时间。
实施例的一些贡献如下:
a)计算通信时间感知客户端集合和客户端选择,以使得可以缓解慢速(或掉队者)客户端对训练时间的影响;
b)一种自适应客户端集合选择算法,其可以针对客户端的计算和通信速率的变化进行调整,并以低开销减少总训练时间——作为优选实施例,一些实施例提出一种分组过程,以使得具有相似完成时间的客户端在一起受调度,以避免在每个时期等待掉队节点;和/或
c)一种用于基于数据的统计特性和/或所需的计算准确度使选择算法适用于更积极的客户端选择算法的方法——在此,作为一个实施例,提出基于最快完成时间的客户端选择算法,其可以显著加速训练;可以取决于客户端数据的所需训练准确度和统计知识打开或关闭该特征。
参与分布式训练的不同客户端之间的训练数据的计算、通信和可用性的异构性需要智能和自适应方法,以在不影响训练准确度性能的同时将客户端分组为使整体训练时间最小化的集合。
根据一些实施例,我们利用从客户端报告的信息对客户端进行分组,以使得用于训练持续时间的总更新时间显著最小化。此外,我们可以在不影响联邦学习的训练准确度的情况下实现这一点。此外,如果客户端数据的统计属性是已知的,则MEC服务器能够执行更积极的客户端选择,其可以减少收敛时间。可以取决于训练准确度要求以及客户端数据的统计知识的可用性打开/关闭该方法。
甚至通过客户端能力对MEC服务器的低成本通信的方式赋能一些实施例。在从先前报告隐式估计当前客户端能力的同时,MEC服务器可以从每个客户端收集单次能力报告。此外,我们根据需要引入周期性更新。
根据一些实施例,MEC服务器与客户端之间的协议交换可以在空中加以拦截,并且使用工具(例如,Wireshark)加以分析。
联邦学习可以概括如下:
·联邦学习可以涉及MEC服务器,其从多个客户端学习全局机器学习模型,每个客户端从对于它们可用的数据集学习局部机器学习模型;
·与客户端将所有数据发送到中央MEC服务器以训练机器学习算法(如深度神经网络、RNN等)相反,联邦学习允许客户端在局部关于它们的数据训练模型,并仅对MEC服务器共享数据模型权重(而不一定是数据);
·MEC服务器从多个客户端接收模型更新,并计算模型权重的平均值以形成全局模型;以及
·对于客户端训练的下一轮次,MEC服务器将全局模型权重作为当前模型传播到客户端。
可以关于图26中的边缘云配置2600描述联邦学习过程的示例。在此,MEC服务器2608将要从N个客户端2604的池选择K个客户端/客户端设备2604,以在下一训练轮次中执行联邦学习。K个客户端的选择在整体联邦学习性能方面起重要作用。
这是因为以下原因:
1)异构计算能力:每个客户端设备2604相对于一个或多个其他客户端设备2604在硬件和软件方面可以具有不同的计算能力。此外,取决于不同时间的工作负载,可用的计算资源也可以是时变的。这可能导致不同客户端在每个轮次期间的不同时间完成他们的局部训练。
2)异构通信速率:每个客户端可以通过不同方式(例如,在无线的情况下,通过WiFi、LTE、5G)连接到MEC服务器。对用户可用的带宽及其数据速率可能取决于技术及其信噪比。数据速率和带宽也是时变的,这可能导致每个轮次中的来自不同客户端的不同模型上传时间。
3)异构数量的训练示例:与另一客户端相比,每个客户端可能包含不同数量的局部训练示例。这进一步导致每个客户端处的局部模型权重的计算时间的可变性。
归因于上述挑战,一些实施例提出这样的方法和装置:其赋能MEC服务器和客户端周期性地执行关于它们的计算能力和通信速率的信息的轻量级交换,并且利用该信息以导致客户端智能分组为集合并使总训练时间最小化。
通信和计算感知客户端选择:
根据一些实施例的总体协议流程关于图17和18加以描述,并且可以涉及以下内容,首先参照图17:
1)在训练的开始,MEC服务器1704可以向作为联邦学习过程的部分的所有客户端1702发送客户端能力请求通知。
2)客户端1702可以用以下信息进行响应:
a.它们的计算速率(rc)——其例如通过客户端在一秒钟内可以执行的乘法和加法(MAC)运算的数量加以测量。
b.通信时间(Tup)——其例如通过对于客户端可用带宽与上行链路通信速率(rup)的比率加以测量。
c.训练示例的数量(ntr)——其例如通过测量每个客户端处可用的训练集合的大小。
3)MEC服务器可以收集上述信息并计算用于所有客户端的总上传时间,如以下公式(BQ1)中阐述的那样:
Ttot,n=Tup,n+ntr,n*1/rc,n (BQ1)
根据实施例,MEC服务器可以仅周期性地收集该信息。然而,必须注意,这是来自每个客户端的总更新时间的粗略估计。为了得到该更新时间的更准确估计,MEC服务器可以简单地监控发送全局模型与从每个客户端接收到模型更新的时间之间的时间。这可以服务于两个目的:
a)调整来自客户端的任何陈旧更新;和/或
b)考虑来自客户端的虚假更新。
4)MEC服务器可以运行客户端选择算法以对于每个训练时期挑选客户端集合。算法描述如下:
a.在操作1706中的贪心客户端集合选择算法:
i.按客户端的更新时间的增序对它们进行排序;
ii.从排序的列表将客户端聚类为N/K个群组,其中,N是客户端1702的数量,并且K是客户端集合的数量。
b.在操作1708的贪心客户端选择算法:如果MEC服务器具有客户端数据的统计知识(例如,它们的示例概率质量函数,或其他统计),则MEC服务器可以仅选择具有最短完成时间的客户端。即使当客户端可能拥有非i.i.d数据,这也可以例如在全局模型已经达到特定最小准确度阈值之后得以执行。这种情况下的算
法可以如下:
i.按客户端的更新时间的增序对它们进行排序;
ii.在操作1712,从列表挑选K个最佳客户作为用于每个训练时期的客户端。
6)每个客户端集中的选定客户端可以然后用它们的局部更新进行响应。
7)MEC服务器也可以在操作1714更新用于集合中的客户端的更新时间,以得到上传时间的更好估计。
典型地,训练示例(ntr)的数量在训练时段上是不变的。因此,这可以是来自客户端的单次报告。此外,如上所述,可以据从客户端接收的实际报告间接计算计算速率(rc,n)和上传时间(Tup,n)。此外,可以在MEC服务器处使用指数加权滤波器以随着时间更新rc,n和Tup,n的平均值。因此,这种开销主要在训练的开始时是显著的,而在之后是极少的。
然而,根据一些实施例,必须注意确保特定客户端在没有模型更新/能力报告的情况下运转达长时间段。我们如下确保这一点(也示出于图3中)。
客户端能力更新过程:
MEC服务器保持客户端模型/能力更新时间戳(Tlast,n)的记录。如果客户端已经超过用于更新的阈值(即,Tlast,n>Tthreshold),则服务器向客户端发起客户端能力更新请求命令。客户端用参数Tup和rc进行响应。如果必要,则MEC服务器可以在操作1816重新计算客户端集合选择算法以确定新的客户端群组,如图18的协议流1800所示。
实验和性能评估:
我们已经展示我们的客户端集合选择方法在用于手写数字识别的MNIST数据集上关于联邦训练问题的性能增益。我们正在训练具有均带有200个节点的2个隐藏层的DNN。我们的环境包含N=100个客户端,其中,K=10个客户端参与每个全局训练时期。训练示例跨越N个客户端(均600个示例)均等拆分。在每个时期中,K个客户端中的每一个运行5次局部训练迭代。
使用移位指数分布对客户端的计算速率(rc)和通信速率(rcomm)进行建模。此外,为了处理关于非i.i.d数据的联邦学习,我们已经在每个客户端处对于局部损失函数利用权重正则化项,如A.K.Sahu,T.Li,M.Sanjabi,M.Zaheer,A.Talwalkar,V.Smith,“FederatedOptimization for Heterogeneous Networks”,arXiv:1812.06127(以下简称“FO forHetNets”)中所提出的那样。
N.表TBQ1
本章节M中的一些实施例涉及联邦学习环境中的计算和通信感知选择。联邦学习的目标是,在将数据保持对于客户端是局部的同时,基于客户端机群训练全局模型。客户端可以下载中心模型作为对于模型参数的初始化。客户端可以例如使用基于梯度的模型对模型执行更新,并以这种方式在局部更新模型。它们可以然后将更新后的模型权重发送到服务器,服务器可以通过策略(例如,取平均或加权平均)聚合这些模型参数更新。
一方面,关于联邦学习的挑战基于网络中的异构性(其中,各种客户端的存储周期、计算速率、形状因子可以是不同的)而出现。另一方面,数据的量可能随着客户端而变化,这导致不同的局部训练时间,并导致相异的训练质量。连接性也可以是异构的(例如,通过5G和WiFi),或者一个或多个客户端可以打开或关闭。因此,对于特定客户端,每个训练时期所需的时间可能通常受延迟,这可能导致客户端处和服务器处的更长训练时间,这样导致不良性能。
一种方法是选择具有更好的计算和通信速率的客户端。本章节M中的一些实施例考虑后者,但也旨在考虑非i.i.d.数据(不是从与整体数据或目标数据相同的分布抽取的数据)。非i.i.d.数据可能导致服务器处的全局模型的发散。
根据一些实施例,在每个训练轮次,MEC服务器可以调度N个可用客户端中的K个,其以迭代方式执行模型权重更新,直到收敛。
根据一个方面,可以鉴于计算和通信速率使能力请求从服务器发送到客户端。这些速率可以具有确知分量,或者它们可以具有随机分量,其中,确知选项是优选的,至少对于实现是更实际的。
MEC服务器可以基于客户端的相似上传时间将它们排序为集合,上传时间考虑计算时间和用于将更新后的模型权重传递回到服务器的时间。MEC可以因此基于用于每个客户端的上传时间参数对客户端进行排序。
根据可选实施例,在客户端已经排序为集合之后,MEC服务器可以实现客户端的更积极选择。MEC服务器可以选择仅训练也展现i.i.d.数据分布的那些具有最快上传时间的客户端。MEC服务器可以基于统计(例如,概率质量函数、客户端处的数据集的概率分布的其他散度参数以及服务器处的感兴趣的整体测试数据(目标数据))或者基于由客户端发送到MEC的数据分布信息获得关于每个客户端处的数据分布的信息。在此情况下,MEC服务器可以忽略非i.i.d.客户端以用于训练。因此,如果给定集合中的客户端处的数据分布与目标数据分布之间的散度是高的,则MEC服务器可以确定它不能执行快速客户端选择(仅鉴于上传时间的最快客户端的选择)。在低散度的情况下,给定集合内的客户端处的分布和目标数据彼此更接近,在此情况下,MEC服务器可以是更积极的,并且调度具有低散度的最快客户端。
在替选中,在基于客户端的上传时间将客户端排序为集合之后,MEC服务器可以通过循环方式(例如,基于上传时间)选择集合。使用上述两种方法(积极或循环)之一进行训练可以涉及迭代过程。MEC服务器可以进一步从客户端接收关于通信和计算速率以及其他信息的更新后的报告。例如,MEC服务器可以监控以确定从客户端接收报告的最后实例,并基于上述情况请求附加报告,或者可以基于训练性能请求附加报告。
N.用于联邦学习的数据质量和计算机通信感知客户端选择
在无线边缘网络上的联邦学习可能面临以下约束:
a)客户端数据质量/特性的异构性——一些客户端与其他客户端相比对学习贡献更大的数据集。客户端数据的重要性也可以跨越训练迭代而变化;
b)每个客户端处的训练示例数量可以是大大不同的,导致不同的计算要求;
c)对于联邦学习可用的计算速率和存储器周期跨越客户端并且随着时间可能是异构的;
d)客户端处可用的通信速率/带宽可以是异构的和时变的(例如,通过无线或有线通信的方式)。
所有上述约束可能导致以下挑战:
A)在不考虑客户端数据质量的情况下的随机子采样或使用其他方法可能导致不良训练性能;
B)客户端的计算和/或通信速率(“计算-通信速率”)也可能影响MEC服务器处的全局模型的收敛时间。
本章节N中的一些实施例旨在考虑数据质量/特性的异构性(包括其时间可变性),并提出用于改进全局模型收敛的加速及其准确度的方法。同时,我们还在我们的上文章节N中的解决方案的基础上,同时考虑计算通信速率以及数据质量/特性,以减少收敛时间。
本章节N中的一些实施例提出一种客户端选择方法,以减少全局模型的收敛时间,如上文章节N中所解释的。
参考Y.Zhao等人的“Federated Learning with Non-i.i.d.Data”arXiv:1806.00582(下文中简称“FL with Non-i.i.d Data”,为了例如鉴于数据的分布和/或其重要性应对具有高度偏斜数据的一些客户端,提出与中央服务器共享少量的训练数据并在客户端执行联邦学习之前训练预热的全局模型。在“FO for HetNets”中,已经提出使每个客户端在其局部损失函数中使用正则化参数,以尝试减少每个轮次中来自每个客户端的权重更新的影响。
鉴于上传时间和计算时间,仅对快速客户端进行子采样的一个主要挑战是模型发散的问题。全局模型的收敛性在经验上以客户端的数据是独立同分布(“i.i.d”)为条件。在缺乏这种数据分布的情况下,跳过来自若干客户端(例如,来自掉队者客户端)的更新可能导致倾斜的更新,并导致仅对于特定数据分布侧写的模型发散/过拟合。
此外,在“FL with Non-i.i.d Data”中提出的解决方案取决于与服务器共享训练数据,归因于隐私之虞(例如,患者医疗保健数据(例如,上面提出的使用情况之一)),这可能并不总是可能的。上面提及的“FO for HetNets”中的正则化方法有助于在存在非i.i.d.数据的情况下改进准确度,但仍碰到训练准确度性能上限,同时也导致全局模型在中央服务器处的更慢收敛速度。
一些实施例提出一种强健方法,以当执行用于联邦学习的客户端选择时在MEC服务器处改进全局机器学习模型的训练准确度和收敛性。一个基本构思这样的认识:每个客户端(即,拥有整个数据集的子集的每个客户端)的贡献在每个全局联邦训练时期期间是不同的,并且是时变的。鉴于此,为了使训练加速最大化并达到更高的训练准确度,根据一些实施例,在每个轮次期间需要客户端的非均匀采样。
本章节N中的一些实施例提出用于通过由观察客户端招致的训练损失在每个联邦客户端选择阶段对客户端进行采样的方法。训练损失可能是客户端可以取决于对于准确度和效率的权衡按不同的时间尺度报告的标量。实验已经验证上述方法,并示出观察在每个时期的训练损失并执行客户端选择结果比非i.i.d.数据条件下的用于联邦学习的现有技术解决方案提供更高的准确度。一些实施例可以进一步考虑客户端处的通信和计算速率,以实现训练准确度与收敛时间之间的权衡。
对于本章节N中的一些实施例的一些贡献如下:
1)客户端可以向MEC服务器报告它们的训练损失;
2)MEC服务器可以在每个训练轮次选择大损失客户端;
3)为了均衡训练准确度和总训练时间,在客户端选择期间可以联合考虑训练损失、客户端计算速率和通信速率。
通过在每个训练轮次选择较大损失客户端,本文提出的一些实施例与选择所有客户端相比在更少数量的训练轮次中实现收敛,同时还达到超过现有技术方法的更高准确度。此外,通过附加地考虑客户端计算速率和通信速率,根据本文一些实施例的收敛时间可以归因于高效通信轮次而得以减少。通过基于较大损失选择客户端,根据本文一些实施例的解决方案对针对对于任何单个客户端过拟合模型是敏感的。
本章节N中的一些实施例可以使用针对客户端选择所使用的从客户端到服务器的标量的轻量级交换。
对于一些实施例,可能需要在客户端和MEC服务器之间交换训练损失信息。此消息的交换可能在空中受拦截并使用分组检查工具加以分析。
可以引发新客户端,并且可以随着时间观察它们的损失函数演变。算法将导致较大损失客户端受调度。“较大损失客户端”指代在任何给定时期内展现损失函数的所有客户端子集,所述损失函数大于所述所有客户端的另一不同子集的损失函数。
在一些联邦学习设置中,可以在每个全局训练轮次中调度客户端的子集。最常见的方法是从均匀分布对客户端进行采样。
然而,本章节N中的一些实施例强调训练加速对于所有客户端并不相同,并且还在不同时期变化。考虑根据公式(BR1)在每个轮次中选择单个客户端的更简单情况:
其中,ht表示在时间t的模型权重距最优权重w*的距离,ψ是损失目标,D表示整个数据集,Dt表示与在时间t选择的客户端对应的数据集,并且ηt是在时间t的学习速率。上面的公式(BR1)至少示出,用于给定客户端从一个时期到下一时期的模型权重距离的改变是每个时期内的客户端的数据分布和损失目标的函数。
加速的方差由公式(BR2)给出:
我们可以注意到,加速的方差是非零的,暗指来自不同客户端的权重更新是不均匀的,至少作为在每个时期每客户端的变化数据分布的函数。因此,为了增加加速,我们发现,从客户端池非均匀地对客户端进行采样是重要的。
公式(BR1)和(BR2)尤其示出训练加速的方差是每个客户端处的数据分布D的函数。如果您跨越客户端对数据进行均匀选择/采样,并且数据是非i.i.d.的,则作为客户端中的每一个的训练时间的函数的训练损失将是不同的,其中,训练损失将全部降低,但是以不同的速率。因此,涉及非i.i.d.数据的均匀采样并未解决关于以均匀方式使跨越所有客户端的预期损失最小化的总体目标。除了客户端发送计算速率和通信速率之外,本章节N中的一些实施例还考虑客户端向MEC服务器发送训练损失。
如果我们将联邦学习定义为逐渐减少整体训练损失的均值的随机过程,则我们可以重新定义联邦学习的目标,以使E[ψw(Dn)]最小化,其中,Dn是从客户端池采样的(特定客户端n的)数据集。因此,接着,为了加速,我们在每个时期t对使E[ψw(Dn)]最小化的客户端n*进行采样。对于MEC服务器关于每个时期选择k个客户端的情况,这可以是容易扩展的,其中,n*由公式(BR3)给出:
用于客户端选择的启发式方法:
为了避免在用于调度客户端的每个联邦学习时期解决上述优化问题,用于本章节N的一些实施例使用简单的启发式方法,其可以经验式地显示胜过其他现有技术方法的更高的训练准确度,特别是对于非i.i.d.数据的挑战性情况。我们定义我们的如图19的流程1900所示启发式方法,图19示出基于联合损失和计算机/通信时间的客户端选择过程。
方法1-基于损失的客户端选择:
根据本章节N中的一些实施例的方法1:
1)MEC服务器1904可以将全局模型传播到客户端1902;
3)MEC服务器1904在每个时期期间可以基于客户端在时间t在全局模型上的训练损失对客户端进行排列顺序;
4)MEC服务器可以如下执行客户端的调度:
a.在一个实施例(未示出)中,服务器可以基于总共N个客户端的训练损失调度总共N个客户端中的前K个,其中,K是设计选项;
b.在另一实施例中,如流程1900所示,MEC服务器可以首先选择具有最高损失的第一子集N1(K<=N1<N)以用于考虑;如以上紧接的先前情况a,N1可以是可以确定准确度与收敛时间之间的权衡的设计选项;在第二步骤中,服务器可以基于客户端上传时间选择N1个客户端中的K个,这样可以使来自客户端的总上传时间最小化。
5)所调度的K个客户端在报告其更新后的模型权重之前可以运行E个局部时期;
6)对于针对MEC服务器的下一训练时期,客户端可以再次将其损失值报告给最新近全局权重,以有助于客户端选择;在每个时期期间,K个客户端可以简单地连同它们的模型更新一起捎带损失值。
在理想设置中,MEC服务器需要在每个训练轮次来自每个客户端的损失值ψt,以调度下一客户端集合。替代地,MEC服务器可以利用来自客户端的过去训练损失值。通过实验,我们已经观察到,利用ψt-1代替ψt并不使训练性能降级达任何显著裕量。
然而,客户端也可能仅周期性地(而非每一轮次)报告其损失信息,这可能导致更长的收敛时间。
MEC服务器保持客户端模型/能力更新时间戳(Tlast,n)的记录。如果客户端已经超过用于更新的阈值(即,Tlast,n>Tthreshold),则服务器向客户端发起客户端能力更新请求命令。客户端用参数Tup和rc进行响应。如果必要,则MEC服务器可以重新运行客户端选择算法。
根据该方法,每个客户端具有由服务器为每个训练轮次提供的模型。客户端可以计算损失并与MEC服务器共享它。服务器因此在待训练的模型的每个训练轮次具有跨越所有客户端的损失。MEC服务器可以然后仅选择具有较大损失的客户端,以用于迭代/训练的下一轮次。用于较大损失客户端的更多迭代可以使这些客户端的损失较低,并且于是MEC服务器可以移动到下一较大损失客户端集合上。
方法2:基于数据分布的客户端选择:
由于如上所述客户端可以相对于彼此具有不同的训练数据分布,因此根据一个实施例,我们利用该信息以确定训练轮次中的客户端。根据该方法,方法2:
a)MEC服务器可以向客户端提供目标数据分布;目标数据分布可以与对于所有i的累积密度函数P(y<=i)或概率质量函数P(y=i)对应;以及
b)客户端k处的数据分布(即,客户端k处的局部数据分布)可以由Qk(y=i)给出;客户端可以使用来自MEC服务器的目标分布和局部数据分布以计算两个分布之间的距离;这可以通过多种方式完成,并提供如下:
a.Kullback-Leibler(KL)散度,其测量两个分布之间的有向散度,并且由公式式(BR4)给出:
或者
b.由公式(BR5)给出的概率分布的L2距离:
DL2,k=||P(y)-Q(y)||2 (BR5)
客户端中的每一个可以在训练的开始向MEC服务器报告它们的距离Dk。
MEC服务器可以执行加权循环客户端选择,其中,较高权重给予具有较大Dk的客户端,以允许MEC服务器对于更高度偏斜的客户端训练得更多。
该方法表示由服务器对于客户端的训练的加权调度,其中,用于客户端的更高优先级具有MEC服务器处的数据分布距目标分布的更大距离。
方法3-基于梯度范数的客户端选择:
在客户端选择过程期间,利用梯度范数作为关于每个客户端的“重要性”的指标也是可能的并且甚至更可靠的。我们已经发现,与具有较小范数的客户端相比,具有客户端的最大梯度范数的客户端携带更高的重要性。
对于模型上的每个客户端计算梯度的范数是昂贵的,并且涉及在实际训练之前客户端处的正向和反向传播。相反,A.Katharopoulos,F.Fleuret中的论文“Not All SamplesAre Created Equal:Deep Learning with Importance Sampling”,ICML 2018,arXiv:1803.00942.s(下文中简称“DL with IS”)导出用于梯度范数的上限作为损失相对于神经网络(NN)的预激活输出的梯度。该上限将梯度计算限制到最后层,并避免计算用于NN层中的每一个的梯度。
根据第三方法(方法3)的实施例的客户端选择流程可以如下:
a)MEC服务器可以将全局模型发送到客户端;
与例如方法1或方法2相比,但由于客户端处的部分梯度的计算,上述方法可能招致附加开销,因为在此,客户端不仅要计算损失函数,而且要在训练对于给定的训练轮次甚至开始之前计算用于训练的梯度。然而,梯度计算可以仅在NN的最后层执行,而不是对于NN的所有层执行。
实验和性能评估:
方法1:
我们已经展示上述我们的客户端集合选择方法1或在用于手写数字识别的MNIST(修正国家标准与技术研究所数据库)数据集上的联邦训练问题的性能增益。我们正在训练具有均带有200个节点的2个隐藏层的深度神经网络(DNN)。我们的环境包含N=100个客户端,其中,K=10个客户端参与每个全局训练时期。我们将训练数据拆分为i.i.d.和非i.i.d.集合,并且将600个示例的每个批量分派给每个客户端。在我们的设置中,20%的客户端具有i.i.d.数据,而其他80%的客户端具有非i.i.d.数据集,其中,每个客户端具有来自1-6个标签的示例。在每个时期中,K个客户端中的每一个运行5次局部训练迭代。
使用移位指数分布对客户端的计算速率(rc)和通信速率(rcomm)进行建模。我们将提出的启发式的性能与参考文献[3]中的方法进行比较,其中,在局部损失目标中利用表示局部权重距全局权重的L2距离的权重正则化分量。
表TBR1
参考上文章节N中描述的一些实施例,其中,数据在给定客户端集合之间不是i.i.d.的,并且循环选择方法用以训练模型,这样的解决方案可能导致模型发散。这是因为,用于模型的每个梯度是从具有非i.i.d.数据的客户端计算的,并且因此,与目标数据相反,更新是有偏的,并且即使在为了训练的目的而给予不同上传时间的客户端均等机会的情况下,MEC服务器也可能因此留下坏模型。
本章节N中的一些实施例仍然意识到客户端之间的计算和通信异构性,同时还解决非i.i.d.数据问题。
O.用于联邦学习中的通信高效学习的重要性彩样方法
在本章节O中,关于当选择参与联邦学习的客户端时考虑数据重要性意识,我们提供超出(例如,在上面的节N和O中)我们早期提出的解决方案的新方法。
本章节O中的一些实施例可以应用于在具有以下特性的客户端上执行联邦学习的情况:
a.客户端具有无线连接,并且鉴于对于它们可用的带宽可能面临异构性;
b.客户端可以具有不同的计算速率,并且因此可以在相对于彼此的不同时间完成它们的局部训练;以及
c.客户端可以具有统计上不同的数据集(即,非独立同分布(i.i.d.或i.i.d.))。
上文章节M阐述的我们的早期解决方案提出一组方法以执行客户端选择,其一些实施例包括:
a)对具有对于它们的数据的大的加权局部损失的客户端赋优先级;
b)对具有较大计算和通信时间的客户端赋优先级;
c)基于客户端数据分布距整体分布的散度(例如,其数据分布的KL散度)的加权循环调度;和/或
d)基于相对于最后层计算的局部梯度的范数对客户端赋优先级。
在其他著作中(例如,在“FL with Non-i.i.d.Data”中),为了应对具有高度偏斜数据的一些客户端,建议与中央服务器共享少量的训练数据并在客户端参与联邦学习之前训练预热全局模型。
早期提出的启发式方法从数据的原始分布非均匀地对客户端进行采样,并且因此可能引入有偏训练。对于基于损失的客户端选择,最终经训练的全局模型可能偏斜朝向以整体准确度为代价实现跨越客户端的公平性能。
一些实施例运用来自重要性采样理论的原理,以通过从与原始分布p不同的数据分布q收集梯度计算执行训练,但具有用于将梯度校正应用于消除偏差的能力。
根据该章节O的一些实施例可以包括以下内容:
a)一些实施例提出两种重要性采样分布,其通过基于统计上重要的数据、客户端的通信速率和计算速率集中于客户端集合中的重要性区域标定加速训练;
b)一些实施例提出用于实现重要性采样和偏差校正以消除归因于重要性采样导致的梯度计算中的偏差的正确方法;和/或
c)一些实施例提出用于在客户端与MEC服务器之间高效地传递该信息以实现a)和b)的协议。
以下提供根据本章节O的所提出的实施例的一些优点:
·用于更高效地对客户端进行采样并实现更高的模型准确度而且改进收敛时间的新的分布;和/或
·用于当客户端可以运行多个局部训练时期时对于联邦学习使梯度估无偏的方法。
为了计算重要性采样分布,客户端可以周期性地向MEC服务器报告可以被拦截的它们的加权损失。相似地,在计算重要性采样分布q后,MEC服务器可以将其发送到客户端,以允许客户端应用偏差校正。这也可以处于根据一些实施例的协议中,并且要么被标准化要么被截取。
客户端也可以将它们的计算时间和通信时间发送到服务器,以计算重要性采样分布。
用于使用模型权重w的数据(x(i),y(i))的互熵损失L(x(i),y(i);w)提供分类器与真实标签y的不相似性的测度,并且因此在用于加速学习的方法中加以利用。具体而言,基于所有示例的损失分布对训练示例进行采样已经示出:在上述“PER”中提供训练速度加速。
根据本章节O的一些实施例扩展上述方法以用于联邦学习的情况,其中,并非查看每个示例上的损失,我们定义客户端上的加权损失函数上的概率分布q,并根据以下公式从这种分布对客户端进行采样,可以由每个客户端k执行在公式(BS1)的该计算,并且可以在每个客户端k处或MEC服务器处执行在公式(BS2)的该计算,如公式(BS1)和(BS2)中阐述的那样:
其中,nk指代客户端处的数据的量,Fk指代跨越用于客户端的所有数据的损失函数平均值,并且wt是客户端处的NN的权重参数/矩阵。
然而,以上在来自客户端k的梯度估计gk中引入采样偏差。一些实施例提出:在更新权重以消除偏差之前,校正用于每个客户端k的梯度估计。这可以通过根据如公式(BS3)中阐述的一个实施例计算重要性采样估计加以执行:
gk,t+1*pk/qk (BS3)
其中,是客户端k基于总共N个客户端的原始采样分布,并且q是重要性分布(在此,基于随机损失)。虽然这种方法在1轮次之后调整用于权重的偏差,但是当局部计算或局部轮轮次的数量τ大于1时,每个客户端处的梯度估计在每个局部更新之后有偏差。因此,一些实施例提出:在每个局部更新之后,使用客户端处的偏差因子利用基于随机损失的采样和校正。换言之,当每个客户端在向服务器报告权重更新之前执行τ局部更新时,每个客户端更新其局部权重矩阵,如公式(BS4)中阐述的那样:
wk,t+τ=wk,t+τ-1-η*gk,t+τ*pk/qk (BS4)
其中,η是学习速率。因此根据用于每个客户端k的更新后的梯度估计调整或偏置每个客户端的局部权重矩阵。
在服务器从总共N个客户端中的K个选定客户端接收到K个更新之后,服务器将全局权重计算为这些权重的平均值,如公式(BS5)中阐述的那样:
然而,这种方法自身不能导致加速的训练,因为使用上述qk采样的K个客户端可能具有如公式(BS6)中阐述的大大不同的上传时间:
我们通过以下描述的示例的方式相对于无线通信模型或计算模型定义客户端的计算模型和通信模型。
无线通信模型:
客户端可以无线连接到它们的基站(并且假设没有从基站到MEC服务器的附加时延)。可以借助于如T.Li、A.K.Sahu、M.Zaheer、M.Sanjabi、A.Talwalkar、V.Smith“Federated Optimization for Heterogeneous Networks",Conference on MachineLearning and Systems(MLSys),2020”(下文简称“FO for HetNets”)的ITU-R M.2412报告中所描述的5G部署和信道模型获得客户端的上行链路数据速率。基于此,可以计算用于用户k的平均数据速率rk,其确定由客户端k用于通信的通信时间,如公式(BS7)中阐述的那样:
其中,Dsize可以计算为用于机器学习模型的所有权重矩阵的大小,并且对于联邦学习的所有客户端都是相同的。例如,对于全连接神经网络的情况,Dsize指示神经网络的所有层的所有权重矩阵的大小之和。
计算模型:
用于每个客户端的计算时间是计算τ轮次的局部梯度更新所需的时间,并且由公式(BS8)给出:
其中,τ是客户端处所需的局部时期数量,numk MAC是客户端k处所需的乘法和加法运算的数量,并且Tk MAC是由客户端k完成1个MAC运算所需的平均时间。
具有计算通信意识的重要性采样:
重要性采样分布qk计算为归一化加权损失与归一化上传时间的比率,并由公式(BS9)给出
这归因于这样的事实:MEC服务器不仅对计算来自具有大损失的客户端的权重更新感兴趣,而且还对具有小上传时间的客户端感兴趣。对于每个客户端处的每个局部梯度步长,可以应用重要性采样偏差校正作为gk,t+1*pk/qk。
所提出的算法总结在以下算法1中。
算法1:基于重要性采样的联邦学习。
S:MEC服务器,C:客户端
1:初始化N、K、τ、η、w1、原始客户端采样分布p
2:客户端报告a)通信时间Tk comm、b)计算时间Tk comp
以允许计算用于客户端的上传时间Tk up
3:对于所有全局时期t=1,τ,…,τT,进行
S:广播全局权重wt
C:将标量加权损失信息nkFk(wt)分享给S(在缺乏Fk(wt)的情况下,S利用最新近报告的Fk(w))
S:更新Tk comm,并从客户端接收任何更新后的Tk comm
S:使用公式(BS2)或公式(BS9)计算用于所有N个客户端的qk
S:使用qk从N个客户端选择K个客户端,以用于权重更新对于每个客户端k=1,2,...,K,进行
对于每个局部时期e=1,2,...,τ,进行
计算wk;t+e=wk;t+e-1-η*gk;t+e*pk/qk
结束
向服务器报告wk;t+τ和标量nkFk(wt+τ)
结束
S:计算服务器处的全局权重为wt+τ=∑k=1 K wk;t+τ/K
4:结束
实验和性能评估:
我们已经展示我们的基于重要性采样的联邦学习方法在用于手写数字识别的MNIST数据集上的性能增益。我们正在训练具有均带有200个节点的2个隐藏层的DNN。我们的环境包含N=100个客户端,其中,K=10个客户端参与每个全局训练时期。
在我们的评估中,所有客户端具有10个标签之一。因此,客户端数据在统计上是非常不同的,并且是非i.i.d.的。局部时期的数量为5。
使用移位指数分布对计算速率(rc)进行建模。我们将提出的启发式方法的性能与“FO for HetNets”中的方法进行比较,其中,在局部损失目标中利用表示局部权重距全局权重的L2距离的权重正则化分量。结果在3个仿真随机种子上取平均,如下表TBS1所示:
表TBS1
在上面的章节M中,来自客户端的损失的报告将要发送到MEC服务器。在本章节O中,一些实施例涉及对于用于客户端的采样创建新分布。如果将p取作给定客户端处的数据分布,则它将与客户端具有的数据的量成正比。如果每一客户端具有相同量的数据,则客户端之间的分布对于所有客户端是相同的(p)。如果否,则对于每个客户端,p将是不同的。我们知道损失是由在时间t的模型权重参数化的给定客户端处的数据的函数。本章节O中的一些实施例旨在基于每个客户端k处的损失函数形成分布(公式(BS1)),基本上在给定的训练时段内将客户端的数据分布作为其损失函数的函数进行偏斜。选择每个客户端的概率将是qk(公式(BS2))。根据一些实施例,MEC可以使用所有客户端k的计算qk。在基于训练轮次内的新分布qk进行采样之后,一些实施例预期对于所计算的梯度应用偏差校正,这可以在将更新后的权重发送到MEC服务器之前由每个客户端在每个局部训练轮次完成。偏置校正对应于与公式(BS4)中的pk/qk因子的乘法。
P.经编码联邦学习中的差分隐私保证
在异构计算环境中,客户端设备需要计算它们的部分梯度并且将这些部分梯度传递到控制器节点。然而,控制器节点处的用于每个时期的等待时间受从具有相对慢的计算能力和/或具有弱或低质量链路的计算节点接收部分梯度所需的时间掌控。例如,用于一个或多个训练时期的控制器节点处的等待时间可以被具有弱或低质量链路的计算节点所延长,这可能需要多次重传以克服无线电链路故障。控制器节点归因于例如低质量链路或慢处理能力而必须等待的计算节点可以称为“掉队者”。掉队者节点的问题与分布在无线网络上的计算尤其相关,其中,无线链路质量的动态变化可能导致数据的损失。现有解决方案并未很好地解决针对分布式计算任务中的这些变化的考虑。
因此,本公开的实施例可以结合编码机制以解决异构环境中的掉队者的问题。编码机制可以允许跨越计算节点复制数据,例如,允许位于客户端边缘计算节点(例如,图12的客户端计算节点1202)处的数据与中央服务器(例如,图12的中央服务器1208)共享。然而,当利用客户端设备数据时,复制和共享数据可能涉及用户隐私问题。用户隐私。确保对于分布式ML模型计算中协作的用户的用户隐私保护可能非常重要,因为这些用户中的一些可能想要在其设备上保持其原始数据是安全的。不考虑隐私之虞可能导致边缘网络(包括MEC网络)的处理能力的欠利用,因为除非可以减轻这些问题,否则一些用户可能不情愿允许它们的数据用于协作。
因此,在与中央服务器或与计算环境的其他计算节点共享之前,可以根据一种或多种技术(例如,本文所描述的那些技术)对客户端数据进行编码。经编码数据集可以称为奇偶校验数据集或奇偶校验数据,并且可以包括已经以混淆或部分混淆实际原始数据的方式编码的客户端设备数据集的版本。编码机制可能仅为客户端设备所知晓,并且不与中央服务器共享,在共享的经编码数据中保持某种隐私。以此方式,经编码数据集可以有助于保护客户端数据集的隐私。
指示要在每个客户端设备处计算的经编码数据点数量的编码冗余c可以在中央服务器处得以确定,并且可以由中央服务器广播到客户端设备中的每一个。编码冗余c可以取决于跨越客户端设备和中央服务器观察到的计算、通信和/或功率预算方面的异构性。在一些实例中,可以使用可以概率性地穿透原始训练数据的权重矩阵Wi对客户端数据进行加权。在一些实施例中,可以基于在中央服务器处从客户端设备接收数据的频率确定权重矩阵的加权值。例如,权重值对于具有对中央服务器的较差连接的设备可以是较高的(即,所给予的较大权重),而对于具有对中央服务器的良好连接的设备可以是较低的。这样可以确保在梯度计算中以与具有较好连接性的设备相似的方式考虑来自具有较差连接性的设备的数据集。在一些情况下,可以如美国专利申请公开No.US2019/0138934中所描述的那样执行编码冗余c权重矩阵Wi的计算,该专利申请通过其完整引用并入本文。
客户端设备可以使用编码冗余c和/或权重矩阵Wi以生成经编码数据。例如,在一些实施例中,可以利用线性随机编码技术并且可以如下构造经编码数据集。第i设备可以使用具有独立于分布(例如,标准正态分布或伯努利(1/2)分布)抽取的元素的维度随机生成矩阵Gi,并且可以将随机生成矩阵应用于加权原始数据集,以获得经编码训练数据集以使得
其中,权重矩阵Wi是对角矩阵,其概率性地穿透原始训练数据。在生成器系数由每个客户端设备保持私有的同时,可以然后在执行训练之前将经编码训练数据发送到中央服务器。在中央服务器处,可以组合局部经编码训练数据,以获得由下式给出的复合经编码数据集
中央服务器可以基于由客户端设备共享的经编码数据计算模型更新(例如,梯度下降技术中的部分梯度),并且可以使用所计算的更新补充或代替由客户端设备使用对应未编码数据执行的模型更新。例如,在一些实施例中,可以在中央服务器处基于两个梯度集合计算用于全局模型的整体梯度:(1)在客户端设备处使用它们的未编码数据集计算的部分梯度;和(2)由MEC服务器使用经编码数据集(其基于客户端数据集)计算的部分梯度。在特定实施例中,在每一训练时期期间,中央服务器从c复合经编码数据集点计算部分梯度,并等待与由客户端设备发送的第一到达(m-c)数量的未编码数据点对应的部分梯度。因此,中央服务器可能不必等待来自掉队者节点和/或链路的部分梯度。该技术在本文中可以称为经编码联邦学习(CFL)。
在许多情况下,分布式学习方法(例如,CFL)可以允许交换聚合统计数据/信息,而不泄露潜在“原始”数据。这在所使用的数据集保存个人的私人信息(例如,医疗保健或其他类型的个人或私人信息)的领域中可能是非常重要的。本公开的实施例包括向所有参与的客户端计算节点提供正式的端到端差分隐私(DP)保证的技术,该技术在本文中可以称为差分隐私经编码联邦学习(DP-CFL)。具体而言,本公开的实施例可以在保留经编码数据以用于训练全局模型的效用的同时在每个客户端计算节点处以差分隐私的方式生成经编码数据。
可以通过在每个客户端设备(例如,客户端计算节点1202)处隐私地压缩原始数据生成经编码数据。可以在中央服务器处或参与CFL的任何其他设备处获知压缩的量。原始数据的二阶统计量可以从经编码数据加以估计,并且使用该公开信息,可以设计对经编码数据的差分攻击以泄漏任何设备的原始数据。
因此,实施例可以在编码冗余计算期间包括差分隐私约束,这可以保证在每个客户端计算节点处所生成的经编码数据的隐私(例如,经编码数据所基于的底层原始数据可能不是可获得的,或者在没有额外工作的情况下可能不是可获得的)。此外,在保留经编码数据在学习算法中的效用的同时,本公开的实施例可以结合数据压缩利用协方差矩阵的失真和加性噪声的注入以实现任何隐私要求。这些技术可以提供一个或多个优点。例如,在一些情况下,在数据编码过程期间可以直接包括隐私连同跨越设备的计算能力、通信链路、和数据质量方面的异构性。此外,在一些情况下,每个设备可以定义其自己的隐私要求。此外,在一些情况下,可以保留经编码数据的效用,保持基于CFL的模型学习的更快收敛。
CFL中使用的编码机制可以是(∈i,δi)-差分隐私的:
其中,X′i是在第i行的数据矩阵Xi的行扰动版本,并且是在数据矩阵Xi下观察的概率密度函数。∈i参数可以基于数据矩阵的扰动指示隐私损失的度量。在特定实例中,CFL实施例可以被设计有基于用于δi的特定选定值保证上述公式为真的编码机制。具体而言,一些实施例可以利用以下示例方法之一以确保用于CFL的编码机制是(∈i,δi)-差分隐私的。需要注意的是,第i设备具有数量的原始数据点。为了维护(∈i,δi)-差分隐私,第i设备可以仅生成高达ci数量的经编码数据点。考虑到这一点,可以实现以下示例过程以确保(∈i,δi)-差分隐私。以下的示例过程可以实现于软件、固件、硬件或其组合中。例如,在一些实施例中,所示示例过程中的操作可以由边缘计算节点的一个或多个组件(例如,相似于图12的客户端计算节点1202的客户端计算节点和相似于图12的中央服务器1208的中央服务器的处理器)执行。在一些实施例中,一个或多个计算机可读介质可以编码有指令,其当由机器(例如,计算节点的处理器)执行时实现以下示例过程中的操作中的一个或多个。示例过程可以包括附加的或不同的操作,并且操作可以按所示顺序或按另一顺序加以执行。在一些情况下,对应附图所示的操作中的一个或多个实现为包括多个操作、子过程或其他类型的例程的过程。在一些情况下,操作可以加以组合、以另一顺序执行、并行执行、迭代、或以其他方式重复或以另一方式执行。
图20是示出根据特定实施例的确保差分隐私的示例过程2000的流程图。在2002,每个第i客户端计算节点2050计算最大编码冗余值ci,其表示客户端计算节点可以生成的最大经编码数据点数量,并且将值ci发送到中央服务器2060。在2004,中央服务器2060基于从客户端计算节点接收的ci值确定待在每个时期中使用的编码冗余值。在一些情况下,这可能是(分别)根据以下的接收到的ci值的最小值或最大值:
在2006,中央服务器2060使用由cup给出的新约束确定最佳编码冗余c、最佳时期时间t*和待在每个设备处局部处理的最佳数据点数量在一些实施例中,可以使用负载均衡算法(例如,美国专利申请公开No.US 2019/0138934中描述的算法)计算这些值,该专利申请通过引用整体并入本文。中央服务器2060将值发送到每个客户端计算节点,并且在2008,客户端计算节点基于值(例如,基于编码冗余c)生成经编码数据集。之后可以将经编码数据集发送到中央服务器2060。
在2008,客户端计算节点2050基于它们的原始数据集(例如,基于时期时间t*和待处理的数据点数量计算模型更新),并且将模型更新发送到中央服务器2060。中央服务器2060在2010基于由客户端计算节点2050发送的经编码数据集计算模型更新,并且在2010,中央服务器2060聚合模型更新。
图21是示出根据特定实施例的在客户端计算节点处确保差分隐私的示例过程2100的流程图。过程2100的方面可以与上面的过程2000组合。在2102,客户端计算节点从中央服务器接收值cup、和并且在2104,确定值cup是否大于其最大编码冗余值ci。如果否,则客户端计算节点在2105基于值cup生成经编码数据集。
残余隐私可以指代归因于选择cup作为所有ci值的最大值而在总体要求∈i上“泄露”的隐私的量。可以然后在2110处通过执行以下中的一个或多个在经编码数据的生成期间减轻该残余隐私:(1)例如,通过删除原始数据的一个或多个主分量在编码之前使原始数据失真;(2)例如,通过删除经编码数据的一个或多个主分量在共享给中央服务器之前使经编码数据失真;(3)在编码之后将加性噪声注入到原始数据中;以及(4)在共享给中央服务器之前将加性噪声注入到经编码数据中。
图22是示出根据特定实施例的使用可信服务器确保差分隐私的示例过程2200的流程图。过程2200的方面可以与上面的过程2000组合。虽然以下针对可信服务器2255描述,但是在其他实施例中,过程2200的方面可以随可信执行环境使用。在2202,在客户端计算节点2250与可信服务器2255之间建立安全信道之后,客户端计算节点2250对它已经生成的经编码数据进行加密(例如,如上所述)并且将加密的经编码数据发送到可信服务器2255在2204,可信服务器2255对经编码数据进行解密,并且在2206,从客户端计算节点2250中的每一个聚合解密的经编码数据集。可信服务器2255然后在2208使聚合的经编码数据失真。可以通过上面关于图21的2110描述的一种或多种方式执行失真。应注意,为了满足相同等级的隐私,在所示实施例中对聚合的经编码数据执行的失真的量可以小于数据在每个客户端计算节点处失真的实施例。可信服务器2255然后将失真的聚合数据发送到中央服务器2260,中央服务器2260然后在2210基于失真的聚合数据(例如,以与图20的2010相同的方式)计算模型更新。中央服务器可以然后执行CFL技术中的其他步骤(例如,图20的过程2000的其他方面)。
图23是示出根据特定实施例的使用可信服务器或执行环境确保差分隐私的另一示例过程2300的流程图。过程2300的方面可以与上面的过程2000组合。在2302,在客户端计算节点2350与可信服务器2355之间建立安全信道之后,可信服务器2355生成成对互补(即,相反或相消)高功率噪声矩阵(N(p),-N(p)),其中,对于N(p)的维度是c×d,并且将成对矩阵发送到一对随机选择的客户端计算节点2350(即,其中,N(p)去往第一客户端计算节点,并且-N(p)去往第二客户端计算节点)。在2304,每个客户端计算节点2350在生成经编码数据之前将噪声矩阵注入(例如,添加)到其经编码数据集(其中,Ni是由第i设备接收的噪声矩阵)或其原始数据。在2306,每个客户端计算节点进一步使经编码数据失真,例如,如上面关于图21的2110所描述的那样。客户端计算节点然后将它们的经编码数据发送到中央服务器2360,中央服务器2360然后在2308基于失真的聚合数据(例如,以与图20的2010相同的方式)计算模型更新。中央服务器可以然后执行CFL技术中的其他步骤(例如,图20的过程2000的其他方面)。
Q.用于保证经编码联邦学习中的差分隐私的经编码和未编码隐私预算
在特定实施例中,可以在生成经编码数据与未编码梯度更新联邦学习之间划分隐私预算。具体而言,客户端计算设备可以将噪声注入到发送到中央服务器的经编码数据或发送到中央服务器的模型更新之一或二者中,以确保差分隐私。客户端计算可以基于中央服务器的整体隐私保证调整注入任一实例中的噪声的量。因为中央服务器执行由客户端计算节点使用原始数据执行的模型更新和由中央服务器使用经编码数据执行的模型更新的加权聚合,所以注入任一过程的噪声(并且因此隐私)的量可以受调整,以使得适当考虑/聚合数据。例如,具有对中央服务器的不良连接的客户端计算节点可以选取将更多的其隐私预算放到经编码侧而不是未编码侧(即,将把更多噪声注入经编码数据中而不是模型更新中),因为归因于不良连接,中央服务器可能将使用经编码数据执行的服务器的更新加权得高于使用原始数据执行的客户端的模型更新。对于具有良好连接的客户端,相反情况可能成立,即,客户端可以将更多的其隐私预算放到未编码侧而不是经编码侧。
图24是示出根据特定实施例的划分隐私预算的示例过程2400的流程图。示例过程可以实现于软件、硬件、固件或其组合中。例如,在一些实施例中,所示示例过程中的操作可以由边缘计算节点的一个或多个组件(例如,相似于图12的客户端计算节点1202的客户端设备的处理器)执行。在一些实施例中,一个或多个计算机可读介质可以编码有指令,其当由机器(例如,计算节点的处理器)执行时实现以下示例过程中的操作中的一个或多个。示例过程可以包括附加的或不同的操作,并且操作可以按所示顺序或按另一顺序加以执行。在一些情况下,图24所示的操作中的一个或多个实现为包括多个操作、子过程或其他类型的例程的过程。在一些情况下,操作可以加以组合、以另一顺序执行、并行执行、迭代、或以其他方式重复或以另一方式执行。
在中央服务器2460已经(例如,通过向节点广播保证)向客户端计算节点2450发送差分隐私保证(∈total,δtotal)并且请求客户端计算节点2450计算c个经编码数据点之后,在2402,客户端计算节点2450基于其通信和计算能力将其隐私预算拆分为经编码(∈coded,δcoded)和未编码(∈uncoded,δuncoded)部分,确保(∈coded,δcoded)+(∈uncoded,δuncoded)=(∈total,δtotal)。由客户端计算节点2450确定/进行的隐私拆分不与中央服务器2460共享。
在2404,客户端计算节点2450基于在2402确定的经编码隐私预算生成经编码数据。具体而言,每个客户端计算节点2450生成并且发送经编码数据和其中,Gi的每个条目从标准正态分布N(0,1)采样,并且Ni和N′i从具有的零均值高斯分布独立采样。矩阵Gi、Ni和N′i是私有的,并且不与中央服务器2460共享。添加的噪声功率也是私有的,并且不与中央服务器共享。可以仔细校准噪声矩阵Ni和N′i,以使得生成经编码数据中的隐私泄露为(∈coded,δcoded)。经编码数据然后发送到中央服务器2460。
此后,中央服务器2460将当前模型或当前模型参数β(t)发送到客户端计算节点2450。在2406,客户端计算节点2450使用它们的原始未编码数据计算模型更新。可以如上所述完成该操作。然后,在2406,客户端计算节点2450基于它们的未编码隐私预算用噪声干扰模型更新。这可以如下进行:
其中,时期中的Mi(t)也是零均值高斯噪声,其由用于DP的标准高斯方法仔细校准,以确保T时期中的隐私泄漏由(∈uncoded,δuncoded)界定。客户端计算节点2450可以然后将它们的模型更新发送到中央服务器2460,中央服务器2460在2408聚合模型更新。在一些实例中,中央服务器2460可以等待固定持续时间Tepoch,以收集它在该时间已经接收的所有模型更新。假设来自客户端计算节点的所有其他模型更新损失。中央服务器可以如下聚合或组合模型更新:
其中,第一项是从经编码数据生成的梯度,并且第二项是来自未编码数据的梯度更新(其中,如果客户端i成功将轮次t中的梯度发送到MEC服务器,则Ii(t)为1,否则为0)。可以通过g(t)是无偏估计器或使梯度的方差最小化的方式选取wi值。
R.用于执行重要性采样和经编码联邦学习的可扩展方法:
在联邦学习中,目标是在不共享客户端的数据的同时使用来自其他客户端计算节点(或客户端)的数据以及计算能力学习全局模型。参见例如HB McMahan、E.Moore、D.Ramage、S.Hampson和BA y Arcas“Communication-efficient learning of deepnetworks from decentralized data",In Conference on Artificial Intelligenceand Statistics,2017(下文中“Communication-Efficient Learning”)。
在联邦学习中,我们可能具有大数量的客户端,但是一些客户端可能比其他客户端具有更重要的数据。因此,一些实施例涉及执行重要性采样(例如,参见Balakrishnan,R.、Akdeniz,M.、Dhakal,S.和Himayat,N.(2020年5月),Resource Management andFairness for Federated Learning over Wireless Edge Networks。2020IEEE 21stInternational Workshop on Signal Processing Advances in WirelessCommunications(SPAWC)(pp.1-5).IEEE(下文中“Resource Management and Fairnessfor FL”),其中,客户端基于其数据的重要性加以采样。一些实施例还包括:向上述添加可靠性层,以及加快学习过程。对于后者,一些实施例实现经编码联邦学习方法。参见例如Prakash,S.、Dhakal,S.、Akdeniz,M.、Avestimehr,AS和Himayat,N.(2020).CodedComputing for Federated Learning at the Edge.arXiv preprint arXiv:2007.03273(下文中“Coded Computing for FL”)。
在本章节中,一些实施例提供基于重要性采样和经编码联邦学习的新技术。一些实施例受益于这两种解决方案,同时加入一些额外优点:例如,客户端可扩展性、计算复杂度的减少或更平滑的学习过程中的至少一个。
“Resource Management in FL”示出如何执行重要性采样,而“Coded Computingfor FL”应对编码部分,这减轻掉队客户端的影响。
然而,“Resource Management in FL”中的解决方案和“Coded Computing forFL”中的解决方案皆未应对重要性采样的同时实现和通过经编码联邦学习缓解掉队者中出现的问题。
一些实施例提供一种新颖的两步采样方法,其允许大数量的客户端中的可行采样。一些实施例提供数据的伯努利编码,这减少与对客户端数据进行编码关联的计算。一些进一步的实施例提供每客户端编码,其使用客户端特定经编码数据而不是经编码数据的总和。
有利地,在减少学习时间以及与学习过程关联的挂钟时间的同时,组合重要性采样与经编码联邦学习允许更快的学习收敛。此外,根据一些实施例的新颖采样过程有利地允许更新全局模型中所涉及的客户端的数量的可行缩放。一些实施例通过减少用于更新模型的浮点乘法的数量进一步有利地减少编码的复杂度。此外,有利地,实施例涉及使用客户端特定经编码数据以减少学习梯度的方差。
一些实施例涉及使用客户端与MEC服务器之间的密钥消息交换,其可以使用工具(例如,WireShark等)加以拦截。根据实施例的一些消息交换可以包括:
1.客户端i向MEC服务器报告其数据点数量li;
2.客户端i周期性地共享它们的当前模型qi的评估损失;
3.MEC服务器对于每个训练时期选择子采样的M个客户端集合以及(M中的)K个客户端;该子采样不同于典型的随机采样,并且根据一些实施例,可以据分析MEC服务器与特定客户端之间的消息交换加以观察;和/或
4.一些客户端周期性地与MEC服务器共享它们的经编码数据,其中,当前方法要么不共享任何经编码数据,要么在训练的开始时从整个客户端集合共享。
现有方法利用固定全局时期持续时间,并且简单地丢弃在固定全局时期持续时间已经逝去之后接收的客户端更新。然而,一些实施例实现可变的全局时期持续时间,其对于E'时期可以保持固定,并且可以然后被重新计算。这同样可以对于也可以在每一E'时期改变的训练数据点数量成立。这种时期持续时间的周期性变化可以被跟踪并应归于负载均衡算法(例如,根据一些实施例利用的算法)。负载均衡指代在每一E'时期间隔在每一时期t判断所选择的集合中的每个客户端将处理多少(以及达多长时间)数据样本(训练示例)。
实施例有利地消除对于存储来自可能参与与MEC服务器的学习的所有N个客户端的经编码数据的需要。因此,可以随时存储(来自M个客户端(其中,M<N)的)更少量的经编码数据。
一些实施例组合重要性采样和经编码联邦学习。实施例包括用于学习线性回归模型的两种方法。即,实施例通过作为一个目标必须达成使与均方差(MSE)对应的表示为的损失最小化的模型β组合重要性采样(IS)和经编码联邦学习(CFL),其中,X、Y分别是数据点及其标签,并且其中,||||F表示Frobenius范数。一些实施例侧重于使用梯度下降算法(GDA)(参见Ruder,S.(2016),An overview of gradient descentoptimization algorithms,arXiv preprint arXiv:1609.04747(下文中“An Overview ofGDOA”)——用于优化问题的普遍使用的算法——学习模型,并且尤其是学习线性回归模型。在GDA中,通过在梯度的相反的方向上采取小步长学习模型——一种导致收敛到局部最小值的方法。换言之,在GDA中,对模型的更新由以下公式(DQ1)给出:
β(t+1)=β(t)-μ(t+1)g(t+1) Eq.(DQ1)
其中,μ(t+1)、g(t+1)分别是梯度步长和在时间t+1的梯度。该算法特别适用于联邦学习,因为不同客户端可以计算它们的局部梯度,并且MEC服务器可以然后聚合所有局部梯度以生成全局更新模型,因为用于所有客户端通过其数据集的损失函数的梯度可以由以下公式(DQ2)给出:
其中,Xi、Yi分别是客户端i处可用的数据点和标签,并且m是(跨越所有客户端的)数据点的总数量。
在重要性采样中,客户端基于它们具有的数据(即,使用以下的公式(DQ3))评估当前所学习的模型的损失:
其中,X(i)、Y(i)是第i客户端处的数据点和标签,li是客户端i具有的数据点数量,并且β是模型或全局权重。
在线性回归中,损失函数是输入与所预测的输出之间的均方差(MSE)。在“Resource Management and Fairness for FL”中示出,应根据由公式(DQ4)给出的分布对客户端进行采样:
参见例如RGoodfellow,I.,Bengio,Y.,Courville,A.,&Bengio,Y.(2016).Deeplearning(Vol.1).Cambridge:MIT press(下文中“Deep Learning”)。在上面的公式(DQ4)和(DQ5)中,j和i二者表示客户端,其中,不同之处在于j归因于所指总和而消失。因此,qi是跨越客户端的liFi的归一化值。
“Coded Computing for FL”示出如何学习所有客户端参与的线性回归模型。根据一些实施例,并非等待所有客户端,MEC服务器可以例如通过以下操作确定并实现负载均衡策略:判断对于所有客户端给予多少时间以执行GDA步骤(该时间称为t*),以及每个客户端i将使用多少个数据点参见“Coded Computing for FL”。上述方法背后的基本原理是,由于一些客户端比其他客户端具有更好的连接性和计算能力,因此应使用一种机制以避免等待直到所有客户端N中最慢客户端(“掉队者”)完成其计算,延迟学习过程。通过发送经编码数据(即,当每个客户端i将经编码数据(GiWiXi,GiWiYi)发送到MEC服务器时),注意到Gi是编码矩阵并且Wi是缩放矩阵,在学习过程之前,MEC服务器可以补偿掉队客户端和丢失的数据点,并在每个步骤达成真实梯度的无偏估计。上述机制可以导致更快和更可靠的学习。注意,根据一些实施例,Gi编码矩阵和Wi缩放矩阵不与MEC服务器共享。此外,上述编码机制也可以对于达成内核变换起作用,以允许对于数据学习线性模型,所述数据不是线性可分离的。
一些实施例旨在获益于重要性采样以及经编码联邦学习。
根据一些实施例,基线方法可以涉及:使所有N个客户端预先发送它们的经编码数据,并且在每个学习时期,MEC服务器将基于重要性采样对K个客户端进行采样。学习时期然后将作为经编码联邦学习时期在这些K个客户端上执行。也就是说,MEC服务器将执行负载均衡,从非掉队客户端收集梯度,并使用经编码数据补偿掉队者。在图25中示出这种基线方法。
图35示出包括客户端3502和MEC服务器3504的边缘学习环境3500。在图35中,MEC服务器3504可以基于重要性采样对K个客户端3502进行采样,并且学习时期将然后作为经编码联邦学习时期在K个客户端上执行。
基线方法(其示例在图35中示出)可能存在可缩放性问题。当客户端数量N>>K时(即,当与所采样的客户端K相比存在大的客户端数量N时(这是学习环境中的常见假设)),上述基线方法可能例如在计算、通信和存储方面遭受显著开销。
为了克服上述针对开销的问题,一些实施例提出一种基于子采样的新颖方法,如图36中所描绘的那样。
图36示出具有N个客户端3602和MEC服务器3604的相似于图35的边缘学习环境X1800,其中,重要性采样和经编码联邦学习连同子采样一起执行。具体而言,一些实施例包括:根据重要性采样分布周期性地(每E′时期)对M个客户端(其中,K<M<<N)进行采样。然后,在每个学习时期,MEC服务器可以对(M个子采样的客户端中的)K个客户端进行均匀采样。分析和经验皆已经示出,在显著减少与经编码联邦学习关联的开销的同时,图36上下文中描述的采样策略实现与基线相似的结果。
根据一些进一步的实施例,可以通过在客户端使用伯努利编码矩阵而不是高斯编码矩阵对数据进行编码实现计算复杂度的减少。
在“Coded Computing for FL”中示出,客户端应使用编码矩阵对其数据进行编码,其元素以独立同分布方式(i.i.d.)从具有零均值和1/c的方差的分布中抽取的,其中,c表示经编码数据点数量。当从高斯分布抽取编码矩阵元素时,大量的浮点乘法是必须的,这被认为是代价高昂的。相反,实施例建议从以一半概率挑选{-1,1}的分布提取矩阵的元素,并在服务器侧稍后通过将矩阵乘以缩放元素。
一些进一步的实施例包括:使用每客户端经编码数据。在用于经编码联邦学习的当前机制中,服务器将来自所有客户端的经编码数据求和,并使用该和以补偿丢失的数据。在“Coded Computing for FL”中已经示出,上述机制导致梯度的无偏估计。然而,所估计的梯度的方差可能带来例如关于学习速率的问题。一些实施例提出:仅使用来自丢失的数据点的经编码数据以减少这种方差,有利地导致更快的学习过程。
每客户端经编码数据:
以下在算法1和图27-图25的上下文中总结所提出的实现每客户端经编码数据的算法。
参照图27-图32,这些图与图25和图26的相似之处在于,它们示出具有N个客户端2702和MEC服务器2704的边缘学习环境2700。
根据算法1的过程可以包括以下操作:
1.服务器初始化K、N、M、μ(0)、β(0)、E、E′(参见图27),其中:
a.K是子采样数量,其表示在每个时期期间经历训练的客户端数量;
b.N是客户端总数量;
c.M是采样数量,其表示K个客户端待随后受子采样所来自的待采样的客户端的数量;
d.μ(0)是在时间0的梯度步长;
e.β(0)是在时间0的梯度;
f.E是算法正运行的最大时期数量;
g.E′是执行紧随其后的操作4.a.i到4.a.v的周期性,并且因此操作4.a.i到4.a.v并非在每一时期进行,而是在E'时期中进行一次;
2.客户端与服务器共享l1,…,lN(参见图27),其中,li与客户端i处的数据点数量对应;
a.li是客户端i处的数据点数量;
b.lj是客户端i处的数据点数量,其中,应理解,其将在pi的计算中因求和而消失;以及
c.pi是客户端i处的数据点数量与所有客户端处的数据点数量的比率。
4.对于所有时期(即,特定时期的数量)t=0,…,E-1,进行:
a.如果mod(t,E′)==0,则进行:
i.服务器广播全局权重β(t),其中,β(t)在是时期t的全局权重;
ii.客户端例如使用公式(DQ4)与服务器共享q1,…,qN(参见图28);
iii.服务器使用分布选择所有N个客户端中的M个客户端(参见图29)——相似于查找,并且包含用于每个客户端包括于待在下一E'时期轮询的子集的选择中的概率;它也在以上ii每E'时期得以更新;客户端计算liFi,并且它们将其发送到服务器。服务器通过用于所有客户端的liFi的总和对这些值进行归一化,并按公式(DQ4)将其除以i以获得用于每个客户端的
iv.服务器通过确定t*、执行负载均衡,其中,t*表示用于所有客户端执行梯度下降算法步骤的时间,并且是待由客户端i使用的数据点数量(参见图28)-t*是时期的持续时间(相对于t表示时期号),并且指代以秒为单位的服务器将等待客户端返回其局部梯度的时间的持续期,其对应于待由客户端i用以执行服务器所预期的梯度更新操作的时间持续期。它每一E'时期优化一次并用于下一E'时期;它可以与所有客户端N或N的采样或子采样有关;
b.结束
5.服务器均匀(例如,不考虑重要性采样或其他采样准则)选择M中的K个客户端(参见图31);
6.服务器发送K个客户端β(t)(参见图32);
7.K个客户端将发送到服务器,其中,是在时期t客户端i处的梯度(参见图32);由于t*是以秒为单位的服务器将等待梯度更新的时间(待由客户端i用以执行服务器所预期的梯度更新操作的时间持续期),并且是客户端i将用以计算该更新的数据点总数量。因此,是从较大的数据集(Xi,Yi)采样的维度的数据集的子集。
9.服务器在时期号t+1更新全局权重β(t+1)=β(t)-μ(t+1)g(t+1)(参见图32);以及
10.结束。
上述算法中的一个挑战是计算最优时期持续时间(t*)和由每个客户端用以计算局部梯度的最优数据点数量li*的次优性(如果K<M)。这是因为,假设所有M个客户端将参与步骤7中的联邦学习并且期待回报最大化而计算t*、li*。当K<M时,最优t*、li*不再成立。在此情况下,我们认为,如果M划分为大小K的子集,以使得每个子集在统计上与集合M相同,则先前对于E'时期选取的t*、li*仍然可以良好地执行。
为此,我们建议利用可以将客户端所分组为聚类的划分算法,其中,每个聚类包含“相似”客户端,并且其中,相似度由客户端的数据分布、平均计算时间和通信时间确定。例如,根据该实施例,每个客户端可以由M维空间中的点指示,其中,M表示用于聚类算法的特征空间。特征可以包括数据维度、客户端处的数据点数量、计算时间和通信时间。然后,可以利用聚类算法,以通过将附近客户端分组为聚类将空间划分为K个聚类。这种算法的复杂度典型地取决于客户端数量M(例如,O(M2))。然而,由于M<<N,因此这不是主要问题。
根据该实施例,在每个训练轮次中,在E'内,MEC服务器可以从K个聚类中的每一个随机对客户端进行采样,用预先确定的时期持续时间t*和训练数据点数量li*参与联邦学习。
实验和性能评估:
我们在MNIST数据集上仿真我们的重要性采样和经编码联邦学习方法的性能。参见LeCun,Y.,Bottou,L.,Bengio,Y.和Haffner,P.(1998).Gradient-based learningapplied to document recognition.Proceedings of the IEEE,86(11),2278-2324(下文中“Gradient-Based Learning”)。MNIST数据集包含手写数字,并且通常用于机器学习领域的基准测试。我们学习具有N=100个客户端的回归模型,其中,根据重要性采样选择每一E′时期M=20,并且从M个子采样的客户端的群组均匀选择每一时期K=10。学习速率是μ(t+1)=0.999μ(t),其中,μ(0)=1或μ(0)=0.1。编码矩阵是高斯的或伯努利的。为了仿真非i.i.d.情况,每个客户端包含(多数)单个数字的不同数字,例如,一些客户端(几乎)只有数字0的图像,一些数字1的图像,等。
我们将子采样方法与基线方法以及与无重要性采样的经编码联邦学习进行比较。结果如图33和图34所示。
如图33所示,图线3300绘制时期数量E与均方差(MSE)。图线3300尤其示出,虽然重要性采样对于针对相同数量的训练时期减少MSE具有可测量的效果,但是组合重要性采样与经编码联邦学习并使用例如上面算法1中提到的子采样在针对相同数量的时期减少MSE方面具有甚至更大的效果,而对于相同的样本大小M,减少时期持续时间改变的周期数量E'在减少MSE方面没有显著影响。
如图34所示,图线3400绘制时期数量E与百分比准确度。图线3400尤其示出,根据例如算法1的重要性采样和子采样鉴于准确度而彼此大致相当,并且它们提供均匀采样的情况的显著改进。此外,减少时期持续时间的周期数量E'似乎提供增强的准确度。
广义算法:
在先前章节中,我们已经提出并研究用于联邦学习系统的算法和框架,其执行重要性采样以减少用于客户端的通信和计算开销和功率,并且进行编码以减缓掉队者。算法的性能取决于与更新子采样的客户端的周期性(时期的整数数量)相关的超参数E′的选择。较小的E′因此意味着更频繁地更新时期,以用于经编码数据交换的更多通信开销为代价产生更好的性能。然而,我们可以通过保持在每个E′时期替换的客户端数量较少解决该问题。换言之,并非判断在每个E′时期的新的M个客户端集合,我们可以从该集合丢弃M个客户端中的L个,并添加剩余N-M集合中的新的L个客户端的集合,导致N-M+L个客户端形成我们执行经编码学习的M个客户端的集合。这些L个客户端的丢弃和重新采样可以取决于重要性分布注意,当L=M时,此算法与算法1相同。
即使我们并未研究该广义算法(以下的算法2)的性能,我们也确实提供如下的框架。
根据算法2的过程可以包括以下操作:
1.服务器初始化K、N、M、μ(0)、β(0)、E、E′(参见图27),其中:
a.K是子采样数量,其表示在每个时期期间经历训练的客户端数量;
b.N是客户端总数量;
c.M是采样数量,其表示K个客户端待随后受子采样所来自的待采样的客户端的数量;
d.μ(0)是在时间0的梯度步长;
e.β(0)是在时间0的梯度;
f.E是算法正运行的最大时期数量;
g.E′是执行紧随其后的操作4.a.i到4.a.v的周期性,并且因此操作4.a.i到4.a.v并非在每一时期进行,而是在E'时期中进行一次;
2.客户端与服务器共享l1,…,lN(参见图27),其中,li与客户端i处的数据点数量对应;
a.li是客户端i处的数据点数量;
b.lj是客户端i处的数据点数量,其中,应理解,其将在
pi的计算中因求和而消失;以及
c.pi是客户端i处的数据点数量与所有客户端处的数据点数量的比率。
4.对于所有时期(即,特定时期的数量)t=0,…,E-1,进行:
a.如果mod(t,E′)==0,则从N个客户端的子采样与服务器共享的经编码数据:
i.服务器广播全局权重β(t),其中,β(t)在是时期t的全局权重;
ii.客户端例如使用公式(DQ4)与服务器共享
q1,…,qN(参见图28);
b.结束
5.服务器在从上面操作4剩余的在时期t=E-1的M个客户端中均匀选择K个客户端。
6.服务器发送K个客户端β(t),其中,β(t)是在时期号t的全局的权重;
9.服务器在时期号t+1更新全局权重β(t+1)=β(t)-μ(t+1)g(t+1);以及
10.结束。
S.用于具有用于客户端的不同编码冗余的经编码联邦学习的系统和方法
如前所述,联邦学习环境涉及客户端通过周期性地与中央服务器(例如,MEC服务器)交换模型参数协作地学习底层模型。联邦学习算法的收敛行为经受计算能力、通信链路和跨越客户端设备的数据分布的异构性。为了减轻这些异构性的影响,一些实施例提出一种经编码计算方法,其赋能每个客户端在每客户端冗余等级生成最佳数量的经编码数据,并与MEC服务器共享最佳数量的经编码数据。
在一个先前经编码计算解决方案中,MEC服务器从客户端收集通信和计算参数,并执行指令所有客户端将相等数量的经编码数据共享给服务器的全局负载均衡动作。参见美国专利公开US-2019-0138934。在后一种解决方案中,服务器组合接收到的经编码数据,以形成复合经编码数据。在训练期间,服务器在每个时期中从复合经编码数据计算梯度,以概率性地补偿客户端发送的无法在所优化的时期时间内到达的梯度,实现比经典FL更快高达四倍的模型收敛,同时通过不暴露原始数据对于客户端保持特定程度的隐私。
然而,一些现有解决方案要求所有客户端生成相等数量的经编码数据,并且因此全局编码冗余由掉队者客户端主导。因此,它不公平地要求可靠的客户端也生成并且发送大数量的经编码数据。这是带宽和计算资源的低效使用。
一些实施例提出一种经编码联邦学习框架,其中,MEC执行负载均衡以计算:1.每个客户端的数据成为原始数据(用于客户端侧处理)和经编码数据(用于服务器侧处理)的优化划分,以及2.对所有客户端全局的最佳时期时间。在该框架下,一些实施例提出两种经编码计算方案,以用于按每客户端冗余的经编码数据生成以及梯度计算。
本章节中的实施例有利地赋能基于每个客户端的网络和计算参数的每客户端编码冗余。上述内容赋能每个客户端具有用于它们自己的隐私和性能的权衡。实施例在异构性区域中优于未编码联邦学习,并且不需要用于梯度计算的解码开销。
本章节中的一些实施例涉及以系统性方式在客户端与服务器之间交换经编码数据,这可以有望针对移动边缘计算而标准化。在此情况下,可以调用标准合规性以检测侵权。也可以执行实验室中的对照实验,以创建不同等级的计算、通信和数据异构性,以准确预测本文提出的算法的行为。
关于用于线性回归工作负载的联邦学习背景:
原始数据位于边缘设备处。更具体而言,位于第i设备(即,客户端)处的数据矩阵X(i)和关联标签矢量y(i)可以由下式给出:
其中,li是可用的训练数据点数量。注意,X(i)的维度是li×d,其中,d是特征空间的维度。
在联邦学习中,每个客户端如下在公式(DR3)中在每个时期(例如,第r时期)中局部计算部分梯度:
其中,β(r)是全局模型的估计。部分梯度传递到主服务器以用于聚合。全局梯度由公式(DR4)给出:
并且模型得以更新,如公式(DR5)所示:
具有每客户端编码冗余的经编码联邦学习:
一些实施例提出具有每客户端冗余的经编码联邦学习算法,其包括以下提到的特征:
1.负载均衡,
2.经编码数据生成
3.梯度计算
前两个特征可以在训练过程的开始时执行一次。第三步骤可以在每一时期执行。以下详细描述每个步骤。
负载均衡b
其中,I{A}是用于事件A的指示符函数,Ti是第i客户端花费于下载模型、计算梯度并且将所计算的梯度上传到服务器的时间。相似地,MEC服务器的返回度量定义为如公式(DR7)中给出:
优化参数:
定义1:截止时间t*:
截止时间t是MEC服务器和第i客户端可以对于i=1,…,n客户端按平均在li数量的数据点上联合计算梯度的最小时期时间窗口。在此,li是第i客户端处可用的原始数据点数量。
观察1:
我们假设MEC服务器使存储受约束于cs数据点数量。
定义3:用于MEC服务器的最佳负载c*(t):
用于时期时间t的最佳负载c*(t)≤cs是由MEC服务器用于对于时期时间使其平均返回度量最大化的经编码数据点数量。更准确地说,c*(t)可以由公式(DR4)给出:
经编码联邦学习方案:
基于上述定义1-3和观察1,我们在本文提出以下两个实施例:
根据第一实施例的协议可以涉及以下内容:
2.可以然后在每一时期重复以下操作:
b.服务器从每个客户端的经编码数据分离地计算梯度,并且跨越所有客户端组合所计算的每客户端梯度,以获得全局梯度;
c.服务器接收局部梯度,直到截止时间t*,并且将所有接收到的局部梯度组合为全局梯度;以及
d.服务器更新模型。
根据第二实施例的协议可以涉及以下内容:
1.作为一个阶段过程:
b.服务器对每个客户端的经编码数据进行过采样,并且组合过采样的经编码数据以创建复合经编码数据。
2.可以然后在每一时期重复以下操作:
b.服务器从每个客户端的复合经编码数据分离地计算梯度,并且跨越所有客户端组合所计算的每客户端梯度,以获得全局梯度;
c.服务器接收局部梯度,直到截止时间t*,并且将所有接收到的局部梯度组合为全局梯度;以及
d.服务器更新模型。
在训练开始之前,在任一实施例中,每个客户端可以向服务器提供其计算和通信延迟的统计。服务器可以使用以下概述的两阶段优化方法执行负载均衡以求解公式(DR10)中的不等式:
1.初始化时间t=0;
2.操作1:分别通过求解公式(DR8)和公式(DR9)找到优化负载分配c*(t)(注意:已经示出,对于用于计算延迟的移位指数分布和用于通信延迟的几何分布,公式(DR8)和公式(DR9)中的平均返回度量是和的分段凹函数。参见“Coded Computing forFL”——因此,操作1可以用标准凸优化工具求解;
3.操作2:检查以下情况:
4.如果满足操作2中的条件,则达到截至时间t*=t,并且
达到优化方法的结束;
5.然而,如果不满足操作2中的条件,则设置t=t+Δt,并且返回操作1,并且重复。
备注1:
在公式(DR10)中,MEC处的存储约束应用于由所有客户端共享的经编码数据的总量。在另一实现方式中,可以通过求解满足公式(DR11a)、(DR11b)和(DR11c)中阐述的以下不等式集合的t*、和使用每客户端存储约束:
经编码数据生成:
根据一些实施例,每个客户端可以利用随机线性编码以对数据进行编码。第i客户端处的经编码数据于是可以由公式(DR12)给出:
和
根据第二协议方案的操作可以涉及以下内容:
1.复合经编码数据形成如下:设以下公式(DR15)成立:
矩阵Fi以构造由公式(DR16a)和(DR16b)给出的过采样经编码数据:
和
如下:
和
梯度计算:
在每个第i时期,可以存在所计算的两种类型的梯度:客户端梯度或局部梯度、以及服务器梯度或全局梯度,根据一些实施例,其可以一起用以更新全局模型β(r)。
客户端梯度:
每个客户端可以从原始数据点数量计算局部梯度。因此,在每个时期中,每个客户端从客户端处可用的li个原始数据点中随机挑选个原始数据点,以使得每个数据点具有由给出的选择的相等似然性。客户端计算其局部梯度并且将其局部梯度上传到服务器。MEC服务器在截止时间t*内接收到的总局部梯度的期望值由公式(DR18)给出:
其中,在以上公式(DR14)中已经定义wi。
根据第一方案(方案1),如下所述提供服务器梯度协议。根据方案1,在每个时期中,服务器从经编码数据计算梯度。服务器可以从每个客户端的经编码数据分离地计算该梯度,并且将它们加和在一起。方案1中的服务器计算的梯度的期望值可以由以下公式(DR19)给出:
假设服务器比客户端具有远更多的计算能力,我们可以近似概率Pr{TMEC≤t*}≈1以获得方案1中的服务器计算的梯度的期望值,如公式(DR20)中阐述的那样:
服务器可以加和两种类型的梯度,以获得由以下公式(DR21)给出的整体梯度:
其中,如以下公式(DR23a)、(DR23b)和(DR23c)中阐述的那样:
和
注意到,按公式(DR23d):
和
此外,我们调用弱大数定律以进行近似,如以下公式(DR24)和(DR25)中所述:
和
使用上述恒等式,我们获得以下公式(DR26)中提供的D:
因此,方案2协议中的全局梯度可以由公式(DR27)给出:
服务器将两种类型的梯度相加,以获得由以下公式(DR28)给出的整体梯度:
备注2
数值结果
我们现在呈现关于由24个客户端节点和1个服务器节点组成的MEC设置的数值结果。
我们使用LTE网络,其中,每个客户端被分派3个资源块。为了对通信链路中的异构性进行建模,使用{1,kFac1,kFac12,…,kFac123}×a生成链路吞吐量系数,其中,kFac1=0.8,a=0.4每信道使用的比特,并且这些系数的随机排列被分派给客户端的通信链路。上行链路和下行链路信道皆以10%的擦除概率建模。
相似地,为了对计算能力的异构性进行建模,使用{1,kFac2,kFac22,…,kFac223}×b(其中,kFac2=0.8,b=1536每秒千次乘法累加操作)生成平均处理速率,并且这些系数的随机排列分派给客户端的计算能力。使用用于如“Coded Computing for FL”中描述的计算时间的移位指数统计模型。
每个客户端具有li=360个训练示例。特征维度d=500。MEC服务器处的总存储约束为cs=720。
使用由公式(DR29)提供的以下线性模型生成每个客户端处的非i.i.d.训练示例:
y(i)=X(i)βtrue+n(i) Eq.(DR29)
我们已经利用归一化的均方差(NMSE)作为在第r时期中定义的性能度量,如公式(DR30)中阐述的那样:
本文提供的数值结果比较以下算法:
1.方案1协议
2.方案2协议
3.具有全局编码冗余的经编码联邦学习CFL
4.基线联邦学习
5.贪心联邦学习
在图25中,通过图线340相对于总挂钟时间示出NMSE性能。显然,所提出的协议1和2(即,方案1和方案2)分别比当前已知的基于全局冗余的经编码联邦学习方案收敛得更快。这主要归因于在每个客户端处对数据进行编码所引起的较小初始成本。归因于在复合数据形成期间跨越客户端的经编码数据的耦合,所提出的协议2具有稍微更高的误差底限。虽然如此,在所提出的协议2中,MEC服务器在每个时期中仅计算一次梯度,而在所提出的协议1中,MEC服务器需要分离地从每个客户端的编码经数据计算梯度。最后,与不使用任何编码的基线联邦学习解决方案相比,所有方法收敛得远更快。
接下来,在图252中,我们鉴于时期的数量通过图线25200比较不同算法的收敛速率。为此,我们考虑贪心联邦学习方案,其等待来自客户端的梯度到达,直到截止时间t*,并更新模型。作为参考,我们也已经示出理想联邦学习方案,其在每个时期中等待所有客户端。因此,除了理想FL方案之外的所有方案在每个时期中消耗相同量的挂钟时间。理想FL方案将基于每个时期中的掉队者效应的可变性具有可变的时期时间。这两种所提出的协议非常接近理想联邦学习方案,并且显著胜过贪心联邦学习算法。此外,所提出的实施例比基于全局冗余的经编码联邦学习方案收敛得更快。
T.示例边缘计算实现方式
目前所描述的方法、系统和设备实施例的附加示例包括以下非限定性实现方式。以下非限定性示例中的每一个可以独立存在或者可以与下文或贯穿本公开提供的其他示例中的任何一个或多个通过任何排列或组合进行组合。
如下所述,边缘计算节点的“装置”意指“节点”(例如,中央节点、中央服务器、服务器、客户端节点、客户端计算节点、客户端设备、客户端或用户)的“组件”,如以上定义的组件。客户端、客户端节点或客户端计算/计算节点可以指代充当客户端设备的边缘计算节点,并且在以下示例中,可以使用客户端可能希望(例如,对于其他节点)保持私有的局部数据执行全局模型的训练。本文所指代的“装置”可以指代例如处理器(例如,图9的边缘计算节点950的处理器852、或图9的处理器852连同图9的边缘计算节点950的任何其他组件、或例如与图5中描述的具有虚拟化处理能力的计算节点515或523对应的电路)。
示例:
示例AM1包括一种用于在边缘计算环境中的客户端计算节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:访问所述局部客户端计算节点的局部原始训练数据集和与所述局部原始训练数据集对应的原始标签集;基于内核函数、所述局部原始训练数据集和所述原始标签集计算内核系数;从所述原始训练数据集生成经编码训练数据集;基于所述内核系数、所述内核函数和所述原始标签集生成经编码标签集;以及将所述经编码训练数据集和所述经编码标签集发送到所述边缘计算环境的中央服务器。
示例AM2包括如示例AM1和/或本文其他示例所述的主题,并且可选地,还包括:执行梯度下降以计算所述内核系数。
示例AM3包括如示例AM1或AM2和/或本文其他示例所述的主题,并且可选地,其中,所述内核函数是高斯函数。
示例AM4包括如示例AM1-AM3和/或本文其他示例中任一项所述的主题,并且可选地,其中,生成所述经编码训练数据集包括:基于分布生成编码矩阵,其中,所述经编码训练数据集基于将表示所述原始训练数据集的矩阵与所述编码矩阵相乘。
示例AM5包括如示例AM4和/或本文其他示例所述的主题,并且可选地,其中,基于标准正态分布和伯努利(1/2)分布之一生成所述编码矩阵。
示例AM6包括如示例AM1-AM5和/或本文其他示例中任一项所述的主题,并且可选地,还包括:从所述中央服务器获得用于所述边缘计算环境的客户端计算节点的训练数据的全局均值和标准差;以及基于所述全局均值和标准差对所述原始局部训练数据集进行归一化。
示例AM7包括如示例AM6和/或本文其他示例所述的主题,并且可选地,其中,基于所述归一化的局部训练数据集计算所述内核系数。
示例AM8包括如示例AM1-AM7和/或本文其他示例中任一项所述的主题,并且可选地,还包括:从所述中央服务器获得所述全局ML模型;使用所述原始训练数据集和所述原始标签集计算对所述全局ML模型的更新;以及将对所述全局ML模型的所述更新发送到所述中央服务器。
示例AM9包括如示例AM8和/或本文其他示例所述的主题,并且可选地,其中,计算对所述全局ML模型的所述更新包括:经由反向传播技术计算对所述全局ML模型的部分梯度,并且发送所述更新包括:将所述部分梯度发送到所述中央服务器。
示例AA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:基于内核函数、所述客户端计算节点的局部原始训练数据集和与所述局部原始训练数据集对应的原始标签集计算内核系数;从所述原始训练数据集生成经编码训练数据集;基于所述内核系数、所述内核函数和所述原始标签集生成经编码标签集;使所述经编码训练数据集和经编码标签集发送到所述边缘计算环境的中央服务器。
示例AA2包括如示例AA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于执行梯度下降以计算所述内核系数。
示例AA3包括如示例AA1-AA2和/或本文其他示例所述的主题,并且可选地,其中,所述内核函数是高斯函数。
示例AA4包括如示例AA1-AA3和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于通过以下操作生成所述经编码训练数据集:通过基于分布生成编码矩阵,并且其中,所述经编码训练数据集基于将表示所述原始训练数据集的矩阵与所述编码矩阵相乘。
示例AA5包括如示例AA4和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于基于标准正态分布和伯努利(1/2)分布之一生成所述编码矩阵。
示例AA6包括如示例AA1-AA5和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器进一步用于:从所述中央服务器获得用于所述边缘计算环境的客户端计算节点的训练数据的全局均值和标准差;以及基于所述全局均值和标准差对所述原始局部训练数据集进行归一化。
示例AA7包括如示例AA6和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于基于所述归一化的局部训练数据集计算所述内核系数。
示例AA8包括如示例AA1-AA7和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器进一步用于:从所述边缘计算环境的中央服务器获得所述全局ML模型;使用所述原始训练数据集和所述原始标签集计算对所述全局ML模型的更新;以及使对所述全局ML模型的所述更新发送到所述中央服务器。
示例AA9包括如示例AA8和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于通过以下操作计算对所述全局ML模型的所述更新:经由反向传播技术计算对所述全局ML模型的部分梯度,并且发送所述更新包括:将所述部分梯度发送到所述中央服务器。
示例AA10包括如示例AA1-AA9和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述装置还包括收发机:其用于提供所述装置与无线边缘网络的其他边缘计算节点之间的无线通信。
AMMl包括一种方法,包括:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码训练数据集和经编码标签集;基于所述经编码训练数据集和所述经编码标签集计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
AAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码训练数据集和经编码标签集;基于所述经编码训练数据集和所述经编码标签集计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
示例BMl包括一种用于在边缘计算环境中的客户端计算节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:访问所述客户端计算节点的局部训练数据集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;从所述边缘计算环境的中央服务器获得所述全局ML模型;以及迭代地进行以下操作,直到所述全局ML模型收敛:使用所述经变换数据集和与所述训练数据集对应的原始标签集计算对所述全局ML模型的更新;以及将所述全局ML模型更新发送到所述中央服务器。
示例BM2包括如示例BM1和/或另一示例所述的主题,并且可选地,其中,所述全局ML模型更新包括经由梯度下降获得的部分梯度。
示例BM3包括如示例BM2和/或另一示例所述的主题,并且可选地,还包括:将所述客户端计算节点的操作参数发送到所述中央服务器。
示例BM4包括如示例BM3和/或另一示例所述的主题,并且可选地,其中,所述操作参数包括以下中的一个或多个:用于所述客户端计算节点的处理能力和用于所述客户端计算节点与所述中央服务器之间的网络连接的链路质量。
示例BM5包括如示例BM1-BM3和/或另一示例中任一项所述的主题,并且可选地,其中,应用所述RFFM变换包括:逐元素地向所述训练数据集应用余弦函数。
示例BM6包括如示例BM5和/或另一示例所述的主题,并且可选地,其中,应用所述RFFM变换包括:根据cos(xiΩ+b),应用所述余弦函数,其中,xi表示所述训练数据集,并且Ω和b包括从分布采样的条目。
示例BM8包括如示例BM1-BM7中任一项所述的主题,还包括:从所述中央服务器节点接收用于随机特征映射和随机特征维度的随机数生成器,其中,所述RFFM变换基于用于随机特征映射和随机特征维度的所述随机数生成器。
示例BA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:访问所述客户端计算节点的局部训练数据集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;从所述边缘计算环境的中央服务器获得所述全局ML模型;以及迭代地进行以下操作,直到所述全局ML模型收敛:使用所述经变换数据集和与所述训练数据集对应的原始标签集计算对所述全局ML模型的更新;以及使所述全局ML模型更新发送到所述中央服务器。
示例BA2包括如示例BA1和/或另一示例所述的主题,并且可选地,其中,所述全局ML模型更新包括经由梯度下降获得的部分梯度。
示例BA3包括如示例BA2和/或另一示例所述的主题,并且可选地,其中,所述处理器进一步用于:使所述客户端计算节点的操作参数发送到所述中央服务器。
示例BA4包括如示例BA3和/或另一示例所述的主题,并且可选地,其中,所述操作参数包括以下中的一个或多个:用于所述客户端计算节点的处理能力和用于所述客户端计算节点与所述中央服务器之间的网络连接的链路质量。
示例BA5包括如示例BA1-BA3和/或另一示例中任一项所述的主题,并且可选地,其中,所述处理器用于:通过逐元素地向所述训练数据集应用余弦函数应用所述RFFM变换。
示例BA6包括如示例BA5和/或另一示例所述的主题,并且可选地,其中,所述处理器用于:根据cos(xiΩ+b)应用所述余弦函数,其中,xi表示所述训练数据集,并且Ω和b包括从分布采样的条目。
示例BA8包括如示例BA1-BA7中任一项所述的主题,其中,所述处理器进一步用于:从所述中央服务器节点接收用于随机特征映射和随机特征维度的随机数生成器,其中,所述RFFM变换基于用于随机特征映射和随机特征维度的所述随机数生成器。
BMMl包括一种方法,所述方法包括:从客户端计算节点集合获得由所述客户端计算节点在经由随机傅立叶特征映射(RFFM)变换所变换的数据集上计算的对全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
BAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:从客户端计算节点集合获得由所述客户端计算节点在经由随机傅立叶特征映射(RFFM)变换所变换的数据集上计算的对全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
示例CM1包括用于在边缘计算环境中的客户端计算节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:访问所述客户端计算节点的局部训练数据集和与所述局部训练数据集对应的标签集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;基于所述经变换训练数据集和所述标签集估计局部机器学习(ML)模型;从所述经变换训练数据集生成经编码训练数据集;基于所述经编码训练数据集和所估计的局部ML模型生成经编码标签集;以及将所述经编码训练数据集和所述经编码标签集发送到所述边缘计算环境的中央服务器。
示例CM2包括如示例CM1和/或另一示例所述的主题,并且可选地,其中,估计所述局部ML模型包括:经由梯度下降执行线性回归。
示例CM3包括如示例CM1或CM2和/或另一示例所述的主题,并且可选地,其中,应用所述RFFM变换包括:逐元素地向所述训练数据集应用余弦函数。
示例CM4包括如示例CM3和/或另一示例所述的主题,并且可选地,其中,应用所述RFFM变换包括:根据cos(xiΩ+b)应用所述余弦函数,其中,xi表示所述训练数据集,并且Ω和b包括从分布采样的条目。
示例CM6包括如示例CM1-CM5和/或另一示例中任一项所述的主题,并且可选地,其中,生成所述经编码数据集包括:基于分布生成编码矩阵,其中,所述经编码数据集基于将表示所述原始数据集的矩阵与所述编码矩阵相乘。
示例CM7包括如示例CM6和/或另一示例所述的主题,并且可选地,其中,通过对均匀分布U(0,1)进行采样生成所述编码矩阵。
示例CM8包括如示例CM1-CM7和/或其他示例中任一项所述的主题,并且可选地,还包括:迭代地进行以下操作,直到所述全局ML模型收敛:基于所述局部训练数据集计算对所述全局ML模型的更新;以及将对所述全局ML模型的所述更新发送到所述中央服务器。
示例CA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:访问所述客户端计算节点的局部训练数据集和与所述局部训练数据集对应的标签集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;基于所述经变换训练数据集和所述标签集估计局部机器学习(ML)模型;从所述经变换训练数据集生成经编码训练数据集;基于所述经编码训练数据集和所估计的局部ML模型生成经编码标签集;以及使所述经编码训练数据集和经编码标签集发送到所述边缘计算环境的中央服务器。
示例CA2包括如示例CA1和/或另一示例所述的主题,并且可选地,其中,所述处理器用于估计所述局部ML模型包括:经由梯度下降执行线性回归。
示例CA3包括如示例CA1或CA2和/或另一示例所述的主题,并且可选地,其中,所述处理器用于:逐元素地向所述训练数据集应用余弦函数。
示例CA4包括如示例CA3和/或另一示例所述的主题,并且可选地,其中,所述处理器用于:根据cos(xiΩ+b)应用所述余弦函数,其中,xi表示所述训练数据集,并且Ω和b包括从分布采样的条目。
示例CA6包括如示例CA1-CA5和/或另一示例中任一项所述的主题,并且可选地,其中,所述处理器用于通过以下操作生成所述经编码数据集:基于分布生成编码矩阵,其中,所述经编码数据集基于将表示所述原始数据集的矩阵与所述编码矩阵相乘。
示例CA7包括如示例CA6和/或另一示例所述的主题,并且可选地,其中,通过对均匀分布U(0,1)进行采样生成所述编码矩阵。
示例CA8包括如示例CA1-CA7和/或其他示例中任一项所述的主题,并且可选地,其中,所述处理器进一步用于:迭代地进行以下操作,直到所述全局ML模型收敛:基于所述局部训练数据集计算对所述全局ML模型的更新;以及使对所述全局ML模型的所述更新发送到所述中央服务器。
CMM1包括一种方法,包括:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码训练数据集和经编码标签集;基于所述经编码训练数据集和所述经编码标签集计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
CAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码训练数据集和经编码标签集;基于所述经编码训练数据集和所述经编码标签集计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
示例DM1包括一种用于在边缘计算环境中的客户端计算节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:访问所述客户端计算节点的局部训练数据集的子集;基于随机傅立叶特征映射(RFFM)变换和所述训练数据子集生成经变换训练数据子集;基于分布生成编码矩阵;生成加权矩阵;基于将所述经变换训练数据子集与所述编码矩阵和所述加权矩阵相乘,生成经编码训练数据小批量;以及将所述经编码训练数据小批量发送到的中央服务器;其中,所述加权矩阵基于是否将在所述中央服务器处接收所述经编码训练数据小批量的概率。
示例DM2包括如示例DM1和/或另一示例所述的主题,并且可选地,还包括:迭代地进行以下操作,直到所述全局ML模型收敛:基于所述训练数据集计算对所述全局ML模型的更新;以及将所述全局ML模型更新发送到所述中央服务器。
示例DM3包括如示例DM1和/或另一示例所述的主题,并且可选地,其中,所述编码矩阵包括从标准正态分布或从等概率伯努利分布独立地抽取的元素。
示例DM4包括如示例DM1和/或另一示例所述的主题,并且可选地,其中,所述编码矩阵的大小基于从所述中央服务器获得的编码冗余参数。
示例DM5包括如示例DM1-DM4和/或另一示例中任一项所述的主题,并且可选地,其中,应用所述RFFM变换包括:逐元素地向所述训练数据集应用余弦函数。
示例DM6包括如示例DM5和/或另一示例所述的主题,并且可选地,其中,应用所述RFFM变换包括:根据cos(xiΩ+b)应用所述余弦函数,其中,xi表示所述训练数据集,Ω是从分布采样的,并且b是从均匀(0,2π]采样的。
示例DM7包括如示例DM1-DM6和/或另一示例中任一项所述的主题,并且可选地,其中,基于所述客户端计算节点的操作参数确定所述概率。
示例DM8包括如示例DM7和/或另一示例所述的主题,并且可选地,其中,所述操作参数包括以下中的一个或多个:所述客户端计算节点的计算能力和用于所述客户端计算节点的通信链路质量。
示例DM9包括如示例DM1-DM8和/或其他示例中任一项所述的主题,并且可选地,还包括:迭代地进行以下操作,直到所述全局ML模型收敛:基于所述局部训练数据集计算对所述全局ML模型的更新;以及将对所述全局ML模型的所述更新发送到所述中央服务器。
示例DA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:访问所述客户端计算节点的局部训练数据集的子集;基于随机傅立叶特征映射(RFFM)变换和所述训练数据子集生成经变换训练数据子集;基于分布生成编码矩阵;生成加权矩阵;基于将所述经变换训练数据子集与所述编码矩阵和所述加权矩阵相乘,生成经编码训练数据小批量;以及使所述经编码训练数据小批量发送到所述中央服务器;其中,所述加权矩阵基于是否将在所述中央服务器处接收所述经编码训练数据小批量的概率。
示例DA2包括如示例DA1和/或另一示例所述的主题,并且可选地,其中,所述处理器进一步用于:迭代地进行以下操作,直到所述全局ML模型收敛:基于所述训练数据集计算对所述全局ML模型的更新;以及使所述全局ML模型更新发送到所述中央服务器。
示例DA3包括如示例DA1和/或另一示例所述的主题,并且可选地,其中,所述编码矩阵包括从标准正态分布或从等概率伯努利分布独立地抽取的元素。
示例DA4包括如示例DA1和/或另一示例所述的主题,并且可选地,其中,所述编码矩阵的大小基于从所述中央服务器获得的编码冗余参数。
示例DA5包括如示例DA1-DA4和/或另一示例中任一项所述的主题,并且可选地,其中,所述处理器用于:逐元素地向所述训练数据集应用余弦函数。
示例DA6包括如示例DA5和/或另一示例所述的主题,并且可选地,其中,所述处理器用于:根据cos(xiΩ+b)应用所述余弦函数,其中,xi表示所述训练数据集,Ω是从分布采样的,并且b是从均匀(0,2π]采样的。
示例DA7包括如示例DA1-DA6和/或另一示例中任一项所述的主题,并且可选地,其中,所述处理器用于:基于所述客户端计算节点的操作参数确定所述概率。
示例DA8包括如示例DA7和/或另一示例所述的主题,并且可选地,其中,所述操作参数包括以下中的一个或多个:所述客户端计算节点的计算能力和用于所述客户端计算节点的通信链路质量。
示例DA9包括如示例DA1-DA8和/或其他示例中任一项所述的主题,并且可选地,其中,所述处理器进一步用于:迭代地进行以下操作,直到所述全局ML模型收敛:基于所述局部训练数据集计算对所述全局ML模型的更新;以及使对所述全局ML模型的所述更新发送到所述中央服务器。
示例DA10包括如示例DA1-DA9和/或另一示例中任一项所述的主题,并且可选地,其中,所述装置还包括收发机:其用于提供所述装置与无线边缘网络的其他边缘计算节点之间的无线通信。
DMM1包括一种方法,包括:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码训练数据小批量;基于所述经编码训练数据小批量计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
DAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码训练数据小批量;基于所述经编码训练数据小批量计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
示例EA1包括一种用于在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行边缘计算网络内的联邦机器学习训练的轮次,包括:基于多个可用客户端中的每一个的计算能力和通信能力,将来自所述可用客户端的客户端分组为各个客户端集合;选择候选客户端集合以参与所述联邦机器学习训练的所述轮次,所述候选客户端集合来自所述各个客户端集并且进一步基于轮询方法或基于以下中的至少一个加以选择:所述候选集合的每个客户端的数据分布、或确定所述边缘计算节点处的所述机器学习训练的全局模型已经达到最小准确度阈值;使所述全局模型发送到所述候选客户端集合;以及处理关于用于所述联邦机器学习训练的更新后的模型权重的信息,所述信息来自所述候选客户端集合的客户端;以及基于处理所述信息更新所述全局模型。
示例EA2包括如示例EA1所述的主题,并且可选地,其中,所述计算能力包括计算速率,并且所述通信能力包括用于所述边缘计算节点的上行链路通信时间。
示例EA3包括如示例EA1-EA2中任一项所述的主题,并且可选地,所述处理器进一步用于:产生客户端能力请求向所述可用客户端的传输,然后:进行分组;以及处理关于所述可用客户端中的每一个的计算能力和通信能力的来自所述可用客户端的客户端能力报告,所述客户端能力报告是响应于所述客户端能力请求而发送的,处理客户端能力报告包括:计算用于所述可用客户端的总上传时间。
示例EA4包括如示例EA3所述的主题,并且可选地,其中,所述客户端能力报告还包括关于所述可用客户端中的每一个处的训练示例数量的信息。
示例EA5包括如示例EA3-EA4中任一项所述的主题,并且可选地,所述过程用于:进一步保持自从来自所述可用客户端的所述信息的最后处理以来的时间;基于在下一分组之前自从所述最后处理以来的时间产生客户端能力更新请求向所述可用客户端的传输;以及响应于关于所述可用客户端中的每一个的所述计算能力和所述通信能力的所述更新请求处理来自所述可用客户端的更新后的客户端能力报告,处理客户端能力报告包括:计算用于所述可用客户端的总更新后的上传时间。
示例EA6包括如示例EA3-EA4中任一项所述的主题,并且可选地,其中,来自所述可用客户端的所述客户端能力报告是单次客户端能力报告,所述处理器进一步用于基于所述客户端能力报告估计所述可用客户端的当前客户端能力。
示例EA7包括如示例EA1-EA6中任一项所述的主题,并且可选地,所述处理器进一步选择候选客户端集合基于关于所述候选集合的每个客户端的数据分布是否示出非独立同分布数据(非i.i.d.)的确定。
示例EA8包括如示例EA1-EA7中任一项所述的主题,并且可选地,其中,所述边缘计算节点是服务器(例如,MEC服务器)。
示例EM1包括一种用于在待在边缘计算网络中操作的边缘计算节点的装置处执行的方法,所述方法包括:执行边缘计算网络内的联邦机器学习训练的轮次,包括:基于多个可用客户端中的每一个的计算能力和通信能力,将来自所述可用客户端的客户端分组为各个客户端集合;选择候选客户端集合以参与所述联邦机器学习训练的所述轮次,所述候选客户端集合来自所述各个客户端集并且进一步基于轮询方法或基于以下中的至少一个加以选择:所述候选集合的每个客户端的数据分布、或确定所述边缘计算节点处的所述机器学习训练的全局模型已经达到最小准确度阈值;使所述全局模型发送到所述候选客户端集合;以及处理关于用于所述联邦机器学习训练的更新后的模型权重的信息,所述信息来自所述候选客户端集合的客户端;以及基于处理所述信息更新所述全局模型。
示例EM2包括如示例EM1的主题,并且可选地,其中,所述计算能力包括计算速率,并且所述通信能力包括用于所述边缘计算节点的上行链路通信时间或与所述边缘计算节点的上行链路通信时间和下行链路通信时间之一。
示例EM3包括如示例EM1-EM2中任一项所述的主题,并且可选地,其中,所述方法还包括:产生客户端能力请求向所述可用客户端的传输,然后:进行分组;以及处理关于所述可用客户端中的每一个的计算能力和通信能力的来自所述可用客户端的客户端能力报告,所述客户端能力报告是响应于所述客户端能力请求而发送的,处理客户端能力报告包括:计算用于所述可用客户端的总上传时间。
示例EM4包括如示例EM3所述的主题,其中,所述客户端能力报告还包括关于所述可用客户端中的每一个处的训练示例数量的信息。
示例EM5包括如示例EM3-EM4中任一项所述的主题,并且可选地,还包括:保持自从来自所述可用客户端的所述信息的最后处理以来的时间;基于在下一分组之前自从所述最后处理以来的时间产生客户端能力更新请求向所述可用客户端的传输;以及响应于关于所述可用客户端中的每一个的所述计算能力和所述通信能力的所述更新请求处理来自所述可用客户端的更新后的客户端能力报告,处理客户端能力报告包括:计算用于所述可用客户端的总更新后的上传时间。
示例EM6包括如示例EM3-EM4中任一项所述的主题,其中,来自所述可用客户端的所述客户端能力报告是单次客户端能力报告,所述方法还包括:基于所述客户端能力报告估计所述可用客户端的当前客户端能力。
示例EM7包括如示例EM1-EM6中任一项所述的主题,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例EM8包括如示例EM1-EM7和/或本文一些示例中任一项所述的主题,并且可选地,其中,所述边缘计算节点是服务器(例如,MEC服务器)。
示例EAA1包括一种用于在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行联邦机器学习训练的轮次,其包括:处理来自所述边缘计算网络的第二边缘计算节点的能力请求;响应于所述能力请求,生成关于所述边缘计算节点的计算能力和通信能力的能力报告;产生所述能力报告向所述服务器的传输;在产生传输之后,处理来自所述第二边缘计算节点的全局模型信息,以针对所述第二边缘计算节点初始化联邦机器学习训练轮次的训练参数;以及对于所述联邦机器学习训练轮次基于所述全局模型报告更新后的模型权重。
示例EAA2包括如示例EAA1的主题,并且可选地,其中,所述计算能力包括计算速率,并且所述通信能力包括用于所述第二边缘计算节点的上行链路通信时间或与所述第二边缘计算节点的上行链路通信时间和下行链路通信时间二者之一。
示例EAA3包括如示例EAA1-EAA2中任一项所述的主题,并且可选地,其中,所述能力报告还包括关于所述客户端处的训练示例数量的信息。
示例EAA4包括如示例EAA1-EAA3中任一项所述的主题,所述处理器进一步用于:处理来自所述服务器的能力更新请求;以及响应于关于所述第一边缘计算节点的所述计算能力和所述通信能力的所述更新请求,生成更新后的能力报告。
示例EAA5包括如示例EAA1-EAA4中任一项所述的主题,所述过程进一步用于:使用基于梯度的方法确定所述更新后的模型权重。
示例EAA6包括如示例EAA1-EAA5中任一项所述的主题,并且可选地,其中,所述第一边缘计算节点的数据分布与非独立同分布(非i.i.d.)数据分布对应。
示例EAA7包括如示例EAA1-EAA6中任一项所述的主题,并且可选地,其中,所述第一边缘计算节点是客户端,并且所述第二边缘计算节点是服务器(例如,MEC服务器)。
示例EMM1包括一种在边缘计算网络中的第一边缘计算节点的装置处待执行的方法,所述方法包括:执行边缘计算网络内的联邦机器学习训练的轮次,包括:处理来自所述边缘计算网络的第二边缘计算节点的能力请求;响应于所述能力请求,生成关于所述边缘计算节点的计算能力和通信能力的能力报告;产生所述能力报告向所述服务器的传输;在产生传输之后,处理来自所述第二边缘计算节点的全局模型信息,以针对所述第二边缘计算节点初始化联邦机器学习训练轮次的训练参数;以及对于所述联邦机器学习训练轮次基于所述全局模型报告更新后的模型权重。
示例EMM2包括如示例EMM1所述的主题,并且可选地,其中,所述计算能力包括计算速率,并且所述通信能力包括用于所述第二边缘计算节点的上行链路通信时间。
示例EMM3包括如示例EMM1—EMM2中任一项所述的主题,并且可选地,其中,所述能力报告还包括关于所述客户端处的训练示例数量的信息。
示例EMM4包括如示例EMM1-EMM3中任一项所述的主题,还包括:处理来自所述服务器的能力更新请求;以及响应于关于所述第一边缘计算节点的所述计算能力和所述通信能力的所述更新请求,生成更新后的能力报告。
示例EMM5包括如示例EMM1-EMM4中任一项所述的主题,还包括:使用基于梯度的方法确定所述更新后的模型权重。
示例EMM6包括如示例EMM1-EMM5中任一项所述的主题,并且可选地,其中,所述第一边缘计算节点的数据分布与非独立同分布(非i.i.d.)数据分布对应。
示例EMM7包括如示例EMM1-EMM6中任一项所述的主题,并且可选地,其中,所述第一边缘计算节点是客户端,并且所述第二边缘计算节点是服务器(例如,MEC服务器)。
示例FA1包括一种用于在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行联邦机器学习训练的轮次,其包括:处理来自所述边缘计算网络的多个客户端的能力报告,所述报告包括以下中的至少一个:基于用于所述训练的时期的所述客户端中的各个客户端的训练损失的信息、或基于所述客户端中的各个客户端相对于所述客户端中的各个客户端的预激活输出的梯度的信息;基于所述客户端的训练损失或其梯度之一对其进行等级排序;从所述多个客户端选择候选客户端集合,以用于所述联邦机器学习训练的下一时期,选择所述候选集合包括:选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合;使更新后的全局模型发送到所述候选客户端集合以用于所述下一时期;以及对所述候选客户端集合执行所述联邦机器学习训练。
示例FA2包括如FA1所述的主题,所述处理器进一步用于:在处理所述能力报告之前,产生与联邦机器学习训练的时期对应的全局模型向所述边缘计算网络的所述多个客户端的传播。
示例FA3包括如FA1-FA2所述的主题,并且可选地,其中,选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合包括:选择具有最高训练损失或最高梯度的第一数量的客户端作为中间集合,并且基于所述第一数量的客户端的各个上传时间从所述中间集合选择第二数量的客户端,所述第二数量的客户端与所述候选集合对应。
示例FA4包括如示例FA1-FA3中任一项所述的主题,并且可选地,其中,所述能力报告还包括计算速率上行链路通信时间。
示例FA5包括如示例FA1-FA4中任一项所述的主题,所述处理器用于进一步产生能力请求向所述可用客户端的传输。
示例FA6包括如示例FA1-FA5中任一项所述的主题,并且可选地,其中,所述能力报告还包括关于所述可用客户端中的每一个处的训练示例数量的信息。
示例FA7包括如示例FA1-FA6中任一项所述的主题,所述处理器用于:进一步保持自从来自所述可用客户端的所述信息的最后处理以来的时间;基于在下一分组之前自从所述最后处理以来的时间产生能力更新请求向所述可用客户端的传输;以及响应于关于所述可用客户端中的每一个的所述计算能力和所述通信能力的所述更新请求处理来自所述可用客户端的更新后的能力报告,处理能力报告包括:计算用于所述可用客户端的总更新后的上传时间。
示例FA8包括如示例FA1-FA7中任一项所述的主题,并且可选地,其中,来自所述可用客户端的能力报告是单次能力报告,所述处理器用于进一步基于所述能力报告估计所述可用客户端的当前客户端能力。
示例FA9包括如示例FA1-FA8中任一项所述的主题,并且可选地,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例FA10包括如示例FA1-FA9中任一项所述的主题,所述处理器用于:进一步基于所述训练损失对于所述下一时期之后的一个或多个时期从所述多个客户端选择的候选客户端集合。
示例FA11包括如示例FA1-FA10中任一项所述的主题,并且可选地,其中,所述边缘计算节点包括服务器(例如,MEC服务器)。
示例FM1包括一种用于在待在边缘计算网络中操作的边缘计算节点的装置处执行联邦机器学习训练的方法,所述方法包括:处理来自所述边缘计算网络的多个客户端的能力报告,所述报告包括以下中的至少一个:基于用于所述训练的时期的所述客户端中的各个客户端的训练损失的信息、或基于所述客户端中的各个客户端相对于所述客户端中的各个客户端的预激活输出的梯度的信息;基于所述客户端的训练损失或其梯度之一对其进行等级排序;从所述多个客户端选择候选客户端集合,以用于所述联邦机器学习训练的下一时期,选择所述候选集合包括:选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合;使更新后的全局模型发送到所述候选客户端集合以用于所述下一时期;以及对所述候选客户端集合执行所述联邦机器学习训练。
示例FM2包括如示例FM1所述的主题,还包括:在处理所述能力报告之前,产生与联邦机器学习训练的时期对应的全局模型向所述边缘计算网络的所述多个客户端的传播。
示例FM3包括如示例FM1-FM2中任一项所述的主题,并且可选地,其中,选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合包括:选择具有最高训练损失或最高梯度的第一数量的客户端作为中间集合,并且基于所述第一数量的客户端的各个上传时间从所述中间集合选择第二数量的客户端,所述第二数量的客户端与所述候选集合对应。
示例FM4包括如示例FM1-FM3中任一项所述的主题,并且可选地,其中,所述能力报告还包括计算速率上行链路通信时间。
示例FM5包括如示例FM1-FM4中任一项所述的主题,并且可选地,其中,所述方法还包括:产生能力请求向所述可用客户端的传输。
示例FM6包括如示例FM1-FM5中任一项所述的主题,并且可选地,其中,所述能力报告还包括关于所述可用客户端中的每一个处的训练示例数量的信息。
示例FM7包括如示例FM1-FM6中任一项所述的主题,还包括:保持自从来自所述可用客户端的所述信息的最后处理以来的时间;基于在下一分组之前自从所述最后处理以来的时间产生能力更新请求向所述可用客户端的传输;以及响应于关于所述可用客户端中的每一个的所述计算能力和所述通信能力的所述更新请求处理来自所述可用客户端的更新后的能力报告,处理能力报告包括:计算用于所述可用客户端的总更新后的上传时间。
示例FM8包括如示例FM1-FM7中任一项所述的主题,并且可选地,其中,来自所述可用客户端的能力报告是单次能力报告,所述方法还包括:基于所述能力报告估计所述可用客户端的当前客户端能力。
示例FM9包括如示例FM1-FM8中任一项所述的主题,并且可选地,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例FM10包括如示例FM1-FM9中任一项所述的主题,所述方法还包括:进一步基于所述训练损失对于所述下一时期之后的一个或多个时期从所述多个客户端选择的候选客户端集合。
示例FM11包括如示例FM1-FM10中任一项所述的主题,并且可选地,其中,所述边缘计算节点包括服务器(例如,MEC服务器)。
示例FAA1包括一种用于在边缘计算网络中操作的第一边缘计算节点的装置,包括:互连接口,其用于连接到所述边缘计算节点的一个或多个组件;和关于向所述边缘计算网络的第二边缘计算节点的传输,对能力报告进行编码,所述第二边缘计算节点用于执行联邦机器学习训练的轮次,所述报告包括以下中的至少一个:基于所述第一边缘计算节点的训练损失以用于所述训练的时期的信息、或基于所述第一边缘计算节点相对于所述第一边缘计算节点的预激活输出的梯度的信息;产生所述能力报告的传输;以及对于所述联邦机器学习训练的下一时期,对来自所述第二边缘计算节点的更新后的全局模型进行解码。
示例FAA2包括如示例FAA1所述的主题,所述处理器用于:进一步在产生所述能力报告的传输之前,对与所述联邦机器学习训练的时期对应的全局模型进行解码。
示例FAA3包括如示例FAA1-FAA2中任一项所述的主题,其中,所述能力报告还包括用于与所述第二边缘计算节点的通信的上行链路通信时间或下行链路通信时间中的至少一个和计算速率。
示例FAA4包括如示例FAA1-FAA3中任一项所述的主题,所述处理器用于:在对所述能力报告进行编码之前,对来自所述第二边缘计算节点的能力请求进行解码。
示例FAA5包括如示例FAA1-FAA4中任一项所述的主题,其中,所述能力报告还包括关于所述第一边缘计算节点处的训练示例数量的信息。
示例FAA6包括如示例FAA1-FAA5中任一项所述的主题,所述处理器用于进一步:对来自所述第二边缘计算节点的能力请求进行解码;关于向所述第二边缘计算节点的传输,响应于所述更新后的请求对更新后的能力报告进行编码,所述更新后的能力报告包括关于所述第一边缘计算节点的计算能力和通信能力的信息;以及产生所述更新后的能力报告向所述第二边缘计算节点的传输。
示例FAA7包括如示例FA1-FA10中任一项所述的主题,其中,所述第一边缘计算节点包括移动客户端计算节点。
示例FMM1包括一种在边缘计算网络中的第一边缘计算节点的装置处待执行的方法,包括:关于向所述边缘计算网络的第二边缘计算节点的传输,对能力报告进行编码,所述第二边缘计算节点用于执行联邦机器学习训练的轮次,所述报告包括以下中的至少一个:基于所述第一边缘计算节点的训练损失以用于所述训练的时期的信息、或基于所述第一边缘计算节点相对于所述第一边缘计算节点的预激活输出的梯度的信息;产生所述能力报告的传输;以及对于所述联邦机器学习训练的下一时期,对来自所述第二边缘计算节点的更新后的全局模型进行解码。
示例FMM2包括如示例FMM1所述的主题,包括:在产生所述能力报告的传输之前,对与所述联邦机器学习训练的时期对应的全局模型进行解码。
示例FMM3包括如示例FMM1-FMM2中任一项所述的主题,其中,所述能力报告还包括用于与所述第二边缘计算节点的通信的上行链路通信时间或下行链路通信时间中的至少一个和计算速率。
示例FMM4包括如示例FMM1-FMM3中任一项所述的主题,还包括:进一步在对所述能力报告进行编码之前,对来自所述第二边缘计算节点的能力请求进行解码。
示例FMM5包括如示例FMM1-FMM4中任一项所述的主题,其中,所述能力报告还包括关于所述第一边缘计算节点处的训练示例数量的信息。
示例FMM6包括如示例FMM1-FMM5中任一项所述的主题,还包括:对来自所述第二边缘计算节点的能力请求进行解码;关于向所述第二边缘计算节点的传输,响应于所述更新后的请求对更新后的能力报告进行编码,所述更新后的能力报告包括关于所述第一边缘计算节点的计算能力和通信能力的信息;以及产生所述更新后的能力报告向所述第二边缘计算节点的传输。
示例FMM7包括如示例FA1-FA10中任一项所述的主题,其中,所述第一边缘计算节点包括移动客户端计算节点。
示例GA1包括一种用于在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行联邦机器学习训练的轮次,其包括:产生所述边缘计算节点处的目标数据分布向所述边缘计算网络的多个客户端的传播,以用于联邦机器学习训练;处理来自所述客户端的客户端报告,各个报告中的每一个基于所述客户端中的各个客户端的局部数据分布与所述目标数据分布之间的散度;基于所述散度的大小将各个权重分派给每个各个散度,其中,较高散度具有较高权重;从所述多个客户端选择候选客户端集合,以用于联邦机器学习训练的时期,选择所述候选集合包括:基于所述权重使用轮询方法;使全局模型发送到所述候选客户端集合;以及对所述候选客户端集合执行所述联邦机器学习训练。
示例GA2包括如示例GA1所述的主题,并且可选地,其中,与每个客户端对应的所述散度基于Kullback-Leibler散度或所述每个客户端的局部数据分布与所述目标数据分布之间的概率分布的距离之一。
示例GA3包括如示例GA1-GA2中任一项所述的主题,并且可选地,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例GA4包括如示例GA1-GA3中任一项所述的主题,并且可选地,其中,所述边缘计算节点是服务器(例如,MEC服务器)。
示例GAA1包括一种用于在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:对于所述边缘计算网络内的联邦机器学习训练的每个全局时期:产生全局模型向所述边缘计算网络的多个客户端的传播;处理来自所述客户端中的每一个的加权损失信息;基于来自所述客户端中的每一个的对应客户端的所述加权损失信息确定用于所述客户中的所述每一个的概率分布q主题,并且可选地,其中,q进一步基于所述客户端中的所述每一个处的数据量和用于对于用于所述全局时期的所述客户端中的所述每一个的联邦机器学习训练的权重矩阵;从所述多个客户端选择候选客户端集合,以用于所述联邦机器学习训练的下一全局时期,选择所述候选集合包括:选择具有最高概率分布q的多个客户端作为所述候选集合;关于所述全局时期的每个局部时期,从所述客户端中的每一个处理局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk,其中,wk,t+e与客户端k在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于客户端k在全局时期t和局部时期e的的梯度估计对应,pk与客户端k的原始采样分布对应,并且q是用于客户端k的概率分布;以及基于来自所述客户端中的每一个的局部权重更新确定全局权重。
示例GAA2包括如示例GAA1所述的主题,还包括:处理来自所述客户端的能力报告,所述报告包括用于所述时期的通信时间或计算时间中的至少一个;以及基于所述报告中的各个报告确定用于所述客户端中的每一个的更新时间。
示例GAA3包括如示例GAA1-GAA2中任一项所述的主题,并且可选地,其中,所述边缘计算节点包括服务器(例如,MEC服务器)。
示例GM1包括一种在边缘计算网络中的边缘计算节点的装置处待执行的方法,所述方法包括:执行联邦机器学习训练的轮次,其包括:产生所述边缘计算节点处的目标数据分布向所述边缘计算网络的多个客户端的传播,以用于联邦机器学习训练;处理来自所述客户端的客户端报告,各个报告中的每一个基于所述客户端中的各个客户端的局部数据分布与所述目标数据分布之间的散度;基于所述散度的大小将各个权重分派给每个各个散度,其中,较高散度具有较高权重;从所述多个客户端选择候选客户端集合,以用于所述联邦机器学习训练的时期,选择所述候选集合包括:基于所述权重使用轮询方法;使全局模型发送到所述候选客户端集合;以及对所述候选客户端集合执行所述联邦机器学习训练。
示例GM2包括如示例GM1所述的主题,并且可选地,其中,与每个客户端对应的所述散度基于Kullback-Leibler散度或所述每个客户端的局部数据分布与所述目标数据分布之间的概率分布的距离之一。
示例GM3包括如示例GM1-GM2中任一项所述的主题,并且可选地,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例GM4包括如示例GM1-GM2中任一项所述的主题,并且可选地,其中,所述边缘计算节点是服务器(例如,MEC服务器)。
示例GMM1包括一种用于在待在边缘计算网络中操作的边缘计算节点的装置处执行的方法,所述方法包括:对于所述边缘计算网络内的联邦机器学习训练的每个全局时期:产生全局模型向所述边缘计算网络的多个客户端的传播;处理来自所述客户端中的每一个的加权损失信息;基于来自所述客户端中的每一个的对应客户端的所述加权损失信息确定用于所述客户中的所述每一个的概率分布q主题,并且可选地,其中,q进一步基于所述客户端中的所述每一个处的数据量和用于对于用于所述全局时期的所述客户端中的所述每一个的联邦机器学习训练的权重矩阵;从所述多个客户端选择候选客户端集合,以用于所述联邦机器学习训练的下一全局时期,选择所述候选集合包括:选择具有最高概率分布q的多个客户端作为所述候选集合;关于所述全局时期的每个局部时期,从所述客户端中的每一个处理局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk,其中,wk,t+e与客户端k在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于客户端k在全局时期t和局部时期e的的梯度估计对应,pk与客户端k的原始采样分布对应,并且q是用于客户端k的概率分布;以及基于来自所述客户端中的每一个的局部权重更新确定全局权重。
示例GMM2包括如示例GMM1所述的主题,还包括:处理来自所述客户端的能力报告,所述报告包括用于所述时期的通信时间或计算时间中的至少一个;以及基于所述报告中的各个报告确定用于所述客户端中的每一个的更新时间。
示例GMM3包括如示例GMM1-GMM2中任一项所述的主题,并且可选地,其中,所述边缘计算节点包括服务器(例如,MEC服务器)。
示例GAAA1包括一种用于在边缘计算网络中操作的第一边缘计算节点的装置的主题,所述装置包括:互连接口,其用于将所述装置连接到所述第一边缘计算节点的一个或多个组件;和处理器,其用于:对来自第二边缘计算节点的第一消息进行解码,所述第一消息包括关于用于联邦机器学习训练的目标数据分布的信息;从所述第一消息确定所述目标数据分布;基于所述第一边缘计算节点的局部数据分布与所述目标数据分布之间的散度,对客户端报告进行编码以用于向所述第二边缘计算节点的传输;产生所述客户端报告向所述第二计算节点的传输;对来自所述第二边缘计算节点的第二消息进行解码,所述第二消息包括关于用于所述联邦机器学习训练的全局模型的信息;以及基于所述全局模型更新所述第一边缘计算节点处的局部梯度。
示例GAAA2包括如GAAA1所述的主题,其中,所述装置处的数据分布与非独立同分布数据(非i.i.d.)对应。
示例GAAA3包括如示例GAAA1-GAAA2中任一项所述的主题,其中,所述第一边缘计算节点是移动客户端计算节点。
示例GAAAA1包括一种用于在边缘计算网络中操作的第一边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述第一边缘计算节点的一个或多个组件;和处理器,其用于:对来自第二边缘计算节点的消息进行解码,所述消息包括关于与由所述边缘计算网络中的第二边缘计算节点执行的联邦机器学习训练的每个全局时期关联的全局模型的信息;对加权损失信息进行编码,以用于向所述第二边缘计算节点的传输;产生所述加权损失信息向所述第二边缘计算节点的传输;关于向所述第二边缘计算节点的传输,对局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk进行编码,其中,wk,t+e与所述第一边缘计算节点在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于所述第一边缘计算节点在全局时期t和局部时期e的的梯度估计对应,pk与所述第一边缘计算节点的原始采样分布对应,并且q是用于所述第一边缘计算节点的概率分布;以及产生所述局部权重更新向所述第二边缘计算节点的传输。
示例GAAAA2包括如示例GAAAA1所述的主题,还包括:对于向所述第二客户端计算节点的传输,对能力报告进行编码,所述报告包括用于所述局部时期的通信时间或计算时间中的至少一个。
示例GAAAA3包括如示例GAAAA1-GAAAA2中任一项所述的主题,其中,所述第一边缘计算节点是移动客户端计算节点。
示例GMMM1包括一种在边缘计算网络中的第一边缘计算节点的装置处待执行的方法,所述方法包括:对来自第二边缘计算节点的第一消息进行解码,所述第一消息包括关于用于联邦机器学习训练的目标数据分布的信息;从所述第一消息确定所述目标数据分布;基于所述第一边缘计算节点的局部数据分布与所述目标数据分布之间的散度,对客户端报告进行编码以用于向所述第二边缘计算节点的传输;产生所述客户端报告向所述第二计算节点的传输;对来自所述第二边缘计算节点的第二消息进行解码,所述第二消息包括关于用于所述联邦机器学习训练的全局模型的信息;以及基于所述全局模型更新所述第一边缘计算节点处的局部梯度。
示例GMMM2包括如GMMM1所述的主题,其中,所述装置处的数据分布与非独立同分布数据(非i.i.d.)对应。
示例GMMM3包括如示例GMMM1-GMMM2中任一项所述的主题,其中,所述第一边缘计算节点是移动客户端计算节点。
示例GMMMM1包括一种在边缘计算网络中的第一边缘计算节点的装置处待执行的方法,所述方法包括:对来自第二边缘计算节点的消息进行解码,所述消息包括关于与由所述边缘计算网络中的第二边缘计算节点执行的联邦机器学习训练的每个全局时期关联的全局模型的信息;对加权损失信息进行编码,以用于向所述第二边缘计算节点的传输;产生所述加权损失信息向所述第二边缘计算节点的传输;关于向所述第二边缘计算节点的传输,对局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk进行编码,其中,wk,t+e与所述第一边缘计算节点在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于所述第一边缘计算节点在全局时期t和局部时期e的的梯度估计对应,pk与所述第一边缘计算节点的原始采样分布对应,并且q是用于所述第一边缘计算节点的概率分布;以及
产生所述局部权重更新向所述第二边缘计算节点的传输。
示例GMMMM2包括如示例GMMMM1所述的主题,还包括:对于向所述第二客户端计算节点的传输,对能力报告进行编码,所述报告包括用于所述局部时期的通信时间或计算时间中的至少一个。
示例GMMMM3包括如示例GMMMM1-GMMMM2中任一项所述的主题,其中,所述第一边缘计算节点是移动客户端计算节点。
示例HMl包括一种用于在边缘计算环境中的中央服务器节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:从所述边缘计算环境的客户端计算节点集合中的每一个获得用于所述CFL的最大编码冗余值;基于从所述边缘计算设备接收的所述最大编码冗余值确定编码冗余值;基于所述选定编码冗余值确定在每个经编码联邦机器学习时期期间每个边缘计算设备处待处理的时期时间和数据点数量;以及向所述边缘计算设备集合发送所确定的编码冗余值、时期时间和在每个边缘计算设备处待处理的数据点数量。
示例HM2包括如示例HM1和/或本文其他示例所述的主题,并且可选地,其中,确定所述编码冗余值包括:选择从所述边缘计算设备接收的最大编码冗余值集合中的最小值。
示例HM3包括如示例HM1和/或本文其他示例所述的主题,并且可选地,其中,确定所述编码冗余值包括:选择从所述边缘计算设备接收的最大编码冗余值集合中的最大值。
示例HM4包括如示例HM1-HM3和/或本文其他示例中任一项所述的主题,并且可选地,还包括:基于所发送的所确定的时期时间和每个边缘计算设备处待处理的数据点数量接收一个或多个经编码数据集,所述经编码数据集基于所述边缘计算设备的原始数据集;基于所述经编码数据集确定对全局机器学习模型的梯度更新;以及基于所述梯度更新而更新所述全局ML模型。
示例HM5包括如示例HM4和/或本文其他示例所述的主题,并且可选地,其中,所述一个或多个经编码数据集包括从所述边缘计算设备获得的经编码数据集。
示例HM6包括如示例HM4和/或本文其他示例所述的主题,并且可选地,其中,所述一个或多个经编码数据集包括从所述边缘计算环境的可信服务器接收的经编码数据集。
示例HM7包括如示例HM4-HM6和/或本文其他示例的任一个的主题,并且可选地,还包括:从所述边缘计算设备接收对所述全局ML模型的梯度更新,其中,更新所述全局ML模型模型进一步基于从所述边缘计算设备接收的所述梯度更新。
示例HA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:从所述边缘计算环境的客户端计算节点集合中的每一个获得用于待对全局机器学习(ML)模型执行的经编码联邦学习(CFL)周期的最大编码冗余值;基于从所述边缘计算设备接收的所述最大编码冗余值确定编码冗余值;基于所述选定编码冗余值,确定在所述CFL周期的每个时期期间在每个边缘计算设备处待处理的时期时间和数据点数量;以及使所确定的编码冗余值、时期时间和在每个边缘计算设备处待处理的数据点数量发送到所述边缘计算设备集合。
示例HA2包括如示例HA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作确定所述编码冗余值:选择从所述边缘计算设备接收的最大编码冗余值集合中的最小值。
示例HA3包括如示例HA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作确定所述编码冗余值:选择从所述边缘计算设备接收的最大编码冗余值集合中的最大值。
示例HA4包括如示例HA1-HA3和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器进一步用于:基于所发送的所确定的时期时间和每个边缘计算设备处待处理的数据点数量访问一个或多个经编码数据集,所述经编码数据集基于所述边缘计算设备的原始数据集;基于所述经编码数据集确定对全局机器学习模型的梯度更新;以及基于所述梯度更新而更新所述全局ML模型。
示例HA5包括如示例HA4和/或本文其他示例所述的主题,并且可选地,其中,所述一个或多个经编码数据集包括从所述边缘计算设备获得的经编码数据集。
示例HA6包括如示例HA4和/或本文其他示例所述的主题,并且可选地,其中,所述一个或多个经编码数据集包括从所述边缘计算环境的可信服务器接收的经编码数据集。
示例HA7包括如示例HA4-HA6和/或本文其他示例所述的主题,并且可选地,其中,所述处理器进一步用于:访问从所述边缘计算设备获得的对所述全局ML模型的梯度更新,并且基于从所述边缘计算设备接收的所述梯度更新而更新所述全局模型。
示例HA8包括如示例HA1-HA7和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述装置还包括收发机:其用于提供所述装置与无线边缘网络的其他边缘计算节点之间的无线通信。
示例HMM1包括一种用于在边缘计算环境中的客户端计算节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:确定所述用于客户端计算节点的最大编码冗余值;将所述最大编码冗余值发送到所述边缘计算环境的中央服务器;基于发送所述最大编码冗余值,从所述中央服务器接收用于执行CFL的编码冗余值、时期时间和待在每个CFL时期中处理的数据点数量;基于所接收的编码冗余值、时期时间和待处理的数据点数量确定差分隐私参数;基于所确定的差分隐私参数从所述边缘计算设备的原始数据集生成经编码数据集;以及将所述经编码数据集发送到所述中央服务器。
示例HMM2包括如示例HMM1和/或本文其他示例所述的主题,并且可选地,其中,将所述经编码数据集发送到所述中央服务器包括:将所述经编码数据集直接发送到所述中央服务器。
示例HMM3包括如示例HMM1和/或本文其他示例所述的主题,并且可选地,其中,将所述经编码数据集发送到所述中央服务器包括:将所述经编码数据集发送到所述边缘计算环境的可信服务器。
示例HMM4包括如示例HMM1-HMM3和/或本文其他示例中任一项所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:基于分布生成编码矩阵;以及生成加权矩阵;其中,所述经编码数据集基于将表示所述原始数据集的矩阵与所述编码矩阵和所述加权矩阵相乘。
示例HMM5包括如示例HMM1-HMM4和/或本文其他示例中任一项所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成所述经编码数据集之前,删除所述原始数据集的部分。
示例HMM6包括如示例HMM1-HMM4和/或本文其他示例中任一项所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成之后,删除所述经编码数据集的部分。
示例HMM7包括如示例HMM1-HMM4和/或本文其他示例中任一项所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成所述经编码数据集之前,将噪声注入所述原始数据集中。
示例HMM8包括如示例HMM1-HMM4和/或本文其他示例中任一项所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成之后,将噪声注入所述经编码数据集中。
示例HMM9包括如示例HMM7-HMM8和/或本文其他示例中任一项所述的主题,并且可选地,其中,所注入的噪声基于从所述边缘计算网络的可信服务器接收的噪声矩阵。
示例HMM10包括如示例HMM7-HMM8和/或本文其他示例中任一项所述的主题,并且可选地,其中,所注入的噪声基于经编码隐私预算,所述经编码隐私预算据从所述中央服务器获得的总体隐私预算加以确定。
示例HMM11包括如示例HMM1-HMM10和/或本文其他示例中任一项所述的主题,并且可选地,如权利要求[0668]-[0677][0679]中任一项所述的方法还包括:基于所述原始数据集确定对全局机器学习模型的梯度更新;以及将所述梯度更新发送到所述中央服务器。
示例HMM12包括如示例HMM11和/或本文其他示例所述的主题,并且可选地,还包括:将噪声注入所述梯度更新中,其中,注入所述原始数据集的噪声基于据从所述中央服务器获得的总体隐私预算确定的未编码隐私预算。
示例HAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:确定所述用于客户端计算节点的最大编码冗余值;使所述最大编码冗余值发送到边缘计算环境的中央服务器;基于发送所述最大编码冗余值,从所述中央服务器获得用于执行CFL的编码冗余值、时期时间和待在每个CFL时期中处理的数据点数量;基于所接收的编码冗余值、时期时间和待处理的数据点数量确定差分隐私参数;基于所确定的差分隐私参数从所述边缘计算设备的原始数据集生成经编码数据集;以及使所述经编码数据集发送到所述中央服务器。
示例HAA2包括如示例HAA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:使所述经编码数据集直接发送到所述中央服务器。
示例HAA3包括如示例HAA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:使所述经编码数据集发送到所述边缘计算环境的可信服务器。
示例HAA4包括如示例HAA1-HAA3和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于通过以下操作从所述原始数据集生成所述经编码数据集:基于分布生成编码矩阵;生成加权矩阵;和将表示所述原始数据集的矩阵与所述编码矩阵和所述加权矩阵相乘。
示例HAA5包括如示例HAA1-HAA4和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成所述经编码数据集之前,删除所述原始数据集的部分。
示例HAA6包括如示例HAA1-HAA4和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成之后,删除所述经编码数据集的部分。
示例HAA7包括如示例HAA1-HAA4和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成所述经编码数据集之前,将噪声注入所述原始数据集中。
示例HAA8包括如示例HAA1-HAA4和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成之后,将噪声注入所述经编码数据集中。
示例HAA9包括如示例HAA7-HAA8和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:注入从所述边缘计算网络的可信服务器接收的噪声矩阵。
示例HAA10包括如示例HAA7-HAA8和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:注入基于经编码隐私预算的噪声矩阵,所述经编码隐私预算据从所述中央服务器获得的总体隐私预算加以确定。
示例HAA11包括如示例HAA1-HAA10和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器进一步用于:基于所述原始数据集确定对全局机器学习模型的梯度更新;以及将所述梯度更新发送到所述中央服务器。
示例HAA12包括如示例HAA11和/或本文其他示例所述的主题,并且可选地,其中,所述处理器进一步用于:将噪声注入所述梯度更新中,其中,注入所述原始数据集的噪声基于据从所述中央服务器获得的总体隐私预算确定的未编码隐私预算。
示例HAA13包括如示例HAA1-HAA12和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述装置还包括收发机:其用于提供所述装置与无线边缘网络的其他边缘计算节点之间的无线通信。
示例HMMM1包括一种方法,包括:在边缘计算环境的可信服务器处从所述边缘计算环境的多个客户端计算节点中的每一个接收原始数据集;基于所述原始数据集生成经编码数据集;将所述经编码数据集发送到所述边缘计算环境的中央服务器,以用于经编码联邦学习时期中使用。
示例HMMM2包括如示例HMMM1和/或本文其他示例所述的主题,并且可选地,其中,基于所述原始数据集生成所述经编码数据集包括:基于分布生成编码矩阵;以及生成加权矩阵;其中,所述经编码数据集基于将表示所述原始数据集的矩阵与所述编码矩阵和所述加权矩阵相乘。
示例HMMM3包括如示例HMMM1或HMMM2和/或本文其他示例所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成所述经编码数据集之前,删除所述原始数据集的部分。
示例HMMM4包括如示例HMMM1或HMMM2和/或本文其他示例所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成之后,删除所述经编码数据集的部分。
示例HMMM5包括如示例HMMM1或HMMM2和/或本文其他示例所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成所述经编码数据集之前,将噪声注入所述原始数据集中。
示例HMMM6包括如示例HMMM1或HMMM2和/或本文其他示例所述的主题,并且可选地,其中,从所述原始数据集生成所述经编码数据集包括:在生成之后,将噪声注入所述经编码数据集中。
示例HMMM7包括如示例HMMM1-HMMM6和/或本文其他示例中任一项所述的主题,并且可选地,其中,对从所述客户端计算节点接收的所述原始数据集进行加密,并且所述方法还包括:在生成所述经编码数据集之前,对所述原始数据集进行解密。
示例HAAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:从所述边缘计算环境的多个客户端计算节点中的每一个获得原始数据集;基于所述原始数据集生成经编码数据集;将所述经编码数据集发送到所述边缘计算环境的中央服务器,以用于经编码联邦学习时期中使用。
示例HAAA2包括如示例HAAA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于;通过以下操作基于所述原始数据集生成所述经编码数据集:基于分布生成编码矩阵;生成加权矩阵;以及将表示所述原始数据集的矩阵与所述编码矩阵和所述加权矩阵相乘。
示例HAAA3包括如示例HAAA1或HAAA2和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成所述经编码数据集之前,删除所述原始数据集的部分。
示例HAAA4包括如示例HAAA1或HAAA2和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成之后,删除所述经编码数据集的部分。
示例HAAA5包括如示例HAAA1或HAAA2和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成所述经编码数据集之前,将噪声注入所述原始数据集中。
示例HAAA6包括如示例HAAA1或HAAA2和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作从所述原始数据集生成所述经编码数据集:在生成之后,将噪声注入所述经编码数据集中。
示例HAAA7包括如示例HAAA1-HAAA6和/或本文其他示例中任一项所述的主题,并且可选地,其中,对从所述客户端计算节点接收的所述原始数据集进行加密,并且所述处理器进一步用于:在生成所述经编码数据集之前,对所述原始数据集进行解密。
示例HAAA8包括如示例HAAA1-HAAA7和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述装置还包括收发机:其用于提供所述装置与无线边缘网络的其他边缘计算节点之间的无线通信。
示例IM1包括一种用于在边缘计算环境中的客户端计算节点的装置处执行以提供全局机器学习(ML)模型的经编码联邦学习(CFL)的方法,所述方法包括:从边缘计算环境的中央服务器接收用于CFL周期的差分隐私保证和执行所述CFL周期的全局ML模型;基于所述差分隐私保证确定经编码隐私预算和未编码隐私预算;基于所述经编码隐私预算,从所述客户端计算节点的原始数据集生成经编码数据集;将所述经编码数据集发送到所述中央服务器。对所述全局ML模型执行CFL周期,其中,执行所述CFL周期包括:基于所述原始数据集和所述未编码隐私预算计算对所述全局ML模型的更新;以及将对所述全局ML模型的所述更新发送到所述中央服务器。
示例IM2包括如示例IM1和/或本文其他示例所述的主题,并且可选地,其中,生成所述经编码数据集包括:将噪声注入所述经编码数据集中。
示例IM3包括如示例IM2和/或本文其他示例所述的主题,并且可选地,其中,将噪声注入所述经编码数据集包括:将噪声矩阵添加到所述经编码数据集,所述噪声矩阵基于所述经编码隐私预算。
示例IM4包括如示例IM3和/或本文其他示例所述的主题,并且可选地,其中,所述噪声矩阵包括从零均值高斯分布独立地采样的值。
示例IM5包括如示例IM1和/或本文其他示例所述的主题,并且可选地,其中,计算对所述全局ML模型的所述更新包括:将噪声注入对所述全局ML模型的所述更新中。
示例IM6包括如示例IM5和/或本文的其他示例所述的主题,并且可选地,其中,将噪声注入对所述全局ML模型的所述更新中包括:将噪声矩阵添加到对所述全局ML模型的所述更新,所述噪声矩阵基于所述未编码隐私预算。
示例IM7包括如示例IM6和/或本文其他示例所述的主题,并且可选地,其中,所述噪声矩阵包括从零均值高斯分布独立地采样的值。
示例IM8包括如示例IM1-IM7和/或本文其他示例中任一项所述的主题,并且可选地,其中,生成所述经编码数据集包括:基于分布生成编码矩阵,其中,所述经编码数据集基于将表示所述原始数据集的矩阵与所述编码矩阵相乘。
示例IM9包括如示例IM8和/或本文其他示例所述的主题,并且可选地,其中,通过对标准正态分布N(0,1)进行采样生成所述编码矩阵。
示例IM10包括如示例IM1-IM9和/或本文其他示例中任一项所述的主题,并且可选地,其中,计算对所述全局ML模型的所述更新包括:经由梯度下降计算对所述全局ML模型的梯度。
示例IA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:基于用于经编码联邦学习(CFL)周期的差分隐私保证和执行所述CFL周期的全局机器学习(ML)模型确定经编码隐私预算和未编码隐私预算;基于所述经编码隐私预算,从所述边缘计算节点的原始数据集生成经编码数据集;使所述经编码数据集发送到所述中央服务器。对所述全局ML模型执行CFL周期,其中,所述处理器用于通过以下操作执行所述CFL周期:基于所述原始数据集和所述未编码隐私预算计算对所述全局ML模型的更新;以及将对所述全局ML模型的所述更新发送到所述中央服务器。
示例IA2包括如示例IA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器进一步用于:将噪声注入所述经编码数据集中。
示例IA3包括如示例IA2和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作将噪声注入所述经编码数据集:将噪声矩阵添加到所述经编码数据集,所述噪声矩阵基于所述经编码隐私预算。
示例IA4包括如示例IA3和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过独立地对零均值高斯分布进行采样生成所述噪声矩阵。
示例IA5包括如示例IA1和/或本文其他示例所述的主题,并且可选地,其中,所述处理器进一步用于:将噪声注入对所述全局ML模型的所述更新中。
示例IA6包括如示例IA5和/或本文的其他示例所述的主题,并且可选地,其中,所述处理器用于:通过以下操作将噪声注入对所述全局ML模型的所述更新中:将噪声矩阵添加到对所述全局ML模型的所述更新,所述噪声矩阵基于所述未编码隐私预算。
示例IA7包括如示例IA6和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过独立地对零均值高斯分布进行采样生成所述噪声矩阵。
示例IA8包括如示例IA1-IA7和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于通过以下操作生成所述经编码数据集:基于分布生成编码矩阵,其中,所述经编码数据集基于将表示所述原始数据集的矩阵与所述编码矩阵相乘。
示例IA9包括如示例IA8和/或本文其他示例所述的主题,并且可选地,其中,所述处理器用于:通过对标准正态分布N(0,1)进行采样生成所述编码矩阵。
示例IA10包括如示例IA1-IA9和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述处理器用于:通过以下操作计算对所述全局ML模型的所述更新:经由梯度下降计算对所述全局ML模型的梯度。
示例IA11包括如示例IA1-IA10和/或本文其他示例中任一项所述的主题,并且可选地,其中,所述装置还包括收发机:其用于提供所述装置与无线边缘网络的其他边缘计算节点之间的无线通信。
IMM1包括一种方法,包括:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码数据集;基于所述经编码数据集计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
IAA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:在中央服务器节点处从客户端计算节点集合中的每一个获得经编码数据集;基于所述经编码数据集计算对全局机器学习(ML)模型的梯度更新;从所述客户端计算节点集合的至少一部分获得由所述客户端计算节点在本地训练数据上计算的对所述全局ML模型的梯度更新;聚合所述梯度更新;以及基于所聚合的梯度更新而更新所述全局ML模型。
示例JA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行边缘计算网络内的联邦机器学习训练的轮次,每个轮次包括:对于时期号t的周期数量E':从采样自N个可用客户端的M个客户端丢弃初始L个客户端,并且可选地,其中,初始L≤M并且基于用于M个客户端内的每个客户端i处的数据点的采样分布qi之一或基于均匀采样;从剩余客户端N-M或N-M+初始L个客户端选择随后L个客户端,并且可选地,其中,随后L≤M并且基于用于剩余客户端中的每个客户端i处的数据点的重要性采样分布qi;确定用于所述随后L个客户端的负载均衡参数;从所述随后L个客户端中的每个客户端i接收经编码数据在所述周期数量E'之后,基于在时期号t用于K个客户端中的每个客户端i的梯度gi (t)并进一步基于在时期号t+1用于所述K个客户端中的每个客户端i的梯度gi (t+1)计算与时期号t+1对应的全局权重β(t+1),并且可选地,其中,gi (t)是使用基于所述负载均衡参数的数据点计算的,并且gi (t+1)是使用gi (t)和所述经编码数据计算的。
示例JA2包括如示例JA1的主题,并且可选地,其中,所述负载均衡参数包括用于所述随后L个客户端中的所有客户端i的t*和li*,并且可选地,其中,t*是待由客户端i用以执行梯度更新操作的时间持续期,并且li*是待由每个客户端i在所述梯度更新操作中使用的数据点数量。
示例JA3包括如示例JA1-JA2中任一项所述的主题,所述处理器进一步用于:在所述周期数量E'之后,使所述边缘计算节点将与时期号t对应的的全局权重β(t)发送到从最后M个客户端选择的K个客户端,并且可选地,其中,gi (t)进一步基于与所述时期号t对应的全局权重β(t)。
示例JA4包括如示例JA1-JA3中任一项所述的主题,所述处理器进一步用于:在所述周期数量E'之前,从所述N个可用客户端中的每个客户端i接收li,并且可选地,其中,li与每个客户端i处的数据点数量对应;基于li计算pi,并且可选地,其中,pi与每个客户端i处的数据点数量除以用于所有客户端i的数据点数量的比率对应;以及基于pi/qi计算gi (t+1)。
示例JA5包括如示例JA1-JA4中任一项所述的主题,并且可选地,其中,所述经编码数据基于高斯编码矩阵或伯努利编码矩阵之一。
示例JA6包括如示例JA1-JA5中任一项所述的主题,所述处理器进一步用于:在选择所述初始L个客户端之前从所述N个客户端中的每个客户端i接收qi,或计算qi。
示例JA7包括如示例JA1-JA6中任一项所述的主题,并且可选地,其中,所述处理器用于:均匀地选择M中的K。
示例JA8包括如示例JA1-JA7中任一项所述的主题,并且可选地,其中,从每个客户端i接收经编码数据包括:从N个可用客户端中的每个客户端i接收经编码数据数量,所述经编码数据数量基于li、li*和t*,并且可选地,其中,li与客户端i处的所述原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与客户端i用以执行梯度更新操作的时间持续期对应。
示例JA9包括如示例JA8所述的主题,并且可选地,其中,来自每个客户端i的经编码数据与在时间持续期t*期间每个客户端i处基于经编码数据数量ci*使用高斯生成矩阵使用随机线性编码所编码的数据对应,并且可选地,其中,所述高斯生成矩阵对所述装置保持私有。
示例JA10包括如示例JA1-JA9中任一项所述的主题,并且可选地,其中,所述边缘网络是无线边缘网络。
示例JM1包括一种用于在待在边缘计算网络中操作的边缘计算节点的装置处执行的方法,所述方法包括:执行边缘计算网络内的联邦机器学习训练的轮次,包括:对于时期号t的周期数量E':从采样自N个可用客户端的M个客户端丢弃初始L个客户端,并且可选地,其中,初始L≤M并且基于用于M个客户端内的每个客户端i处的数据点的采样分布qi之一或基于均匀采样;从剩余客户端N-M或N-M+初始L个客户端选择随后L个客户端,并且可选地,其中,随后L≤M并且基于用于剩余客户端中的每个客户端i处的数据点的重要性采样分布qi;确定用于所述随后L个客户端的负载均衡参数;从所述随后L个客户端中的每个客户端i接收经编码数据在所述周期数量E'之后,基于在时期号t用于K个客户端中的每个客户端i的梯度gi (t)并进一步基于在时期号t+1用于所述K个客户端中的每个客户端i的梯度gi (t +1)计算与时期号t+1对应的全局权重β(t+1),并且可选地,其中,gi (t)是使用基于所述负载均衡参数的数据点计算的,并且gi (t+1)是使用gi (t)和所述经编码数据计算的。
示例JM2包括如示例JM1的主题,并且可选地,其中,所述负载均衡参数包括用于所述随后L个客户端中的所有客户端i的t*和li*,并且可选地,其中,t*是待由客户端i用以执行梯度更新操作的时间持续期,并且li*是待由每个客户端i在所述梯度更新操作中使用的数据点数量。
示例JM3包括如示例JM1-JM2中任一项所述的主题,还包括:在所述周期数量E'之后,使所述边缘计算节点将与时期号t对应的的全局权重β(t)发送到从最后M个客户端选择的K个客户端,并且可选地,其中,gi (t)进一步基于与所述时期号t对应的全局权重β(t)。
示例JM4包括如示例JM1-JM3中任一项所述的主题,还包括:在所述周期数量E'之前,从所述N个可用客户端中的每个客户端i接收li,并且可选地,其中,li与每个客户端i处的数据点数量对应;基于li计算pi,并且可选地,其中,pi与每个客户端i处的数据点数量除以用于所有客户端i的数据点数量的比率对应;以及基于pi/qi计算gi (t+1)。
示例JM5包括如示例JM1-JM4中任一项所述的主题,并且可选地,其中,所述经编码数据基于高斯编码矩阵或伯努利编码矩阵之一。
示例JM6包括如示例JM1-JM5中任一项所述的主题,还包括:在选择所述初始L个客户端之前从所述N个客户端中的每个客户端i接收qi,或计算qi。
示例JM7包括如示例JM1-JM6中任一项所述的主题,还包括:均匀地选择M中的K。
示例JM8包括如示例JM1-JM7中任一项所述的主题,并且可选地,其中,从每个客户端i接收编码数据包括从N个可用客户端中的每个客户端i接收经编码数据数量,所述经编码数据数量基于li、li*和t*,并且可选地,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与待由客户端i用以执行梯度更新操作的时间持续期对应。
示例JM9包括如示例JM8所述的主题,并且可选地,其中,来自每个客户端i的经编码数据与在时间持续期t*期间每个客户端i处基于经编码数据数量ci*使用高斯生成矩阵使用随机线性编码所编码的数据对应,并且可选地,其中,所述高斯生成矩阵对所述装置保持私有。
示例JM10包括如示例JM1-JM9中任一项所述的主题,并且可选地,其中,所述边缘网络是无线边缘网络。
示例KA1包括一种边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行边缘计算网络内的联邦机器学习训练的轮次,每个轮次包括:作为一个阶段操作,从N个可用客户端或L个客户端中的每个客户端i接收经编码数据数量,其中,L≤N,所述经编码数据数量基于li、li*和t*,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与表示所述装置和所述客户端i可以联合计算梯度的最小时期时间窗口的截止时间持续期对应;对于每一时期号t并且直到时间t*:从Li*(t*)个原始数据点接收局部梯度gi(t),其中,li*(t*)与表示在时间t*期间由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应;从每个客户端i的所述经编码数据基于每客户端梯度计算全局梯度;在时间t*之时或之后,从在每个时期号t计算的所述全局梯度计算更新后的全局梯度。
示例KA2包括如示例KA1所述的主题,并且可选地,其中,来自每个客户端i的经编码数据与在时间持续期t*期间每个客户端i处基于经编码数据数量ci*使用高斯生成矩阵使用随机线性编码所编码的数据对应,并且可选地,其中,所述高斯生成矩阵对所述装置保持私有。
示例KA3包括如示例KA1-KA2中任一项所述的主题,并且可选地,其中,计算所述全局梯度包括:分离地从每个客户端i的所述经编码数据计算每客户端梯度;以及组合用于所有客户端i的所计算的每客户端梯度以获得全局梯度。
示例KA4包括如示例KA3所述的主题,所述处理器进一步用于:对每个客户端i的所述经编码数据进行过采样以获得用于每个客户端i的过采样的经编码数据;以及组合所述过采样的经编码数据以计算复合经编码数据,并且可选地,其中,分离地从每个客户端i的所述经编码数据计算每客户端梯度包括:对于每个客户端i,从所述复合经编码数据分离地计算每客户端梯度。
示例KA5包括如示例KA1-KA2中任一项所述的主题,所述过程用于进一步:对每个客户端i的所述经编码数据进行过采样以获得用于每个客户端i的过采样的经编码数据;以及组合所述过采样的经编码数据以计算复合经编码数据,并且可选地,其中,计算所述全局梯度包括:从用于所有客户端i的所述复合经编码数据计算所述全局梯度。
示例KA6包括如示例KA4-KA5中任一项所述的主题,并且可选地,其中,所述处理器用于:通过以下操作计算所述复合经编码数据:对于每个客户端i使用具有基于来自客户端i的最大经编码数据数量以及客户端i处的经编码数据ci*的维度的傅立叶变换矩阵Fi,对于每个客户端i计算过采样的经编码数据;通过跨越所有客户端i对用于每个客户端i的过采样的经编码数据进行求和计算所述复合经编码数据。
示例KA7包括如示例KA1所述的主题,所述处理器进一步用于:对于时期号t的周期数量E':从采样自N个可用客户端的M个客户端选择并且丢弃初始L个客户端,并且可选地,其中,初始L≤M并且基于用于M个客户端内的每个客户端i处的数据点的采样分布qi之一或基于均匀采样;从剩余客户端N-M或N-M+初始L选择随后L个客户端,并且可选地,其中,随后L≤M并且基于用于剩余客户端内的每个客户端i处的数据点的采样分布qi;确定用于所述随后L个客户端的负载均衡参数;作为一个阶段操作,从所述随后L个客户端中的每个客户端i接收经编码数据数量,所述经编码数据数量基于li、li*和t*。
示例KM1包括一种用于在待在边缘计算网络中操作的边缘计算节点的装置处执行的方法,所述方法包括:执行边缘计算网络内的联邦机器学习训练的轮次,包括:作为一个阶段操作,从N个可用客户端或L个客户端中的每个客户端i接收经编码数据数量,并且可选地,其中,L≤N,所述经编码数据数量基于li、li*和t*,并且可选地,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与表示所述装置和所述客户端i可以联合计算梯度的最小时期时间窗口的截止时间持续期对应;对于每一时期号t并且直到时间t*:从Li*(t*)个原始数据点接收局部梯度gi(t),并且可选地,其中,li*(t*)与表示在时间t*期间由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应;从每个客户端i的所述经编码数据基于每客户端梯度计算全局梯度;在时间t*之时或之后,从在每个时期号t计算的所述全局梯度计算更新后的全局梯度。
示例KM2包括如示例KM1所述的主题,并且可选地,其中,来自每个客户端i的经编码数据与在时间持续期t*期间每个客户端i处基于经编码数据数量ci*使用高斯生成矩阵使用随机线性编码所编码的数据对应,并且可选地,其中,所述高斯生成矩阵对所述装置保持私有。
示例KM3包括如示例KM1-KM2中任一项所述的主题,其中,计算所述全局梯度包括:分离地从每个客户端i的所述经编码数据计算每客户端梯度;以及组合用于所有客户端i的所计算的每客户端梯度以获得全局梯度。
示例KM4包括如示例KM3所述的主题,还包括:对每个客户端i的所述经编码数据进行过采样以获得用于每个客户端i的过采样的经编码数据;以及组合所述过采样的经编码数据以计算复合经编码数据,并且可选地,其中,分离地从每个客户端i的所述经编码数据计算每客户端梯度包括:对于每个客户端i,从所述复合经编码数据分离地计算每客户端梯度。
示例KM5包括如示例KM1-KM2中任一项所述的主题,还包括:对每个客户端i的所述经编码数据进行过采样以获得用于每个客户端i的过采样的经编码数据;以及组合所述过采样的经编码数据以计算复合经编码数据,并且可选地,其中,计算所述全局梯度包括:从用于所有客户端i的所述复合经编码数据计算所述全局梯度。
示例KM6包括如示例KM4-KM5中任一项所述的主题,并且可选地,其中,通过以下操作计算所述复合经编码数据:对于每个客户端i使用具有基于来自客户端i的最大经编码数据数量以及客户端i处的经编码数据ci*的维度的傅立叶变换矩阵Fi,对于每个客户端i计算过采样的经编码数据;通过跨越所有客户端i对用于每个客户端i的过采样的经编码数据进行求和计算所述复合经编码数据。
示例KM7包括如示例KM1所述的主题,还包括:对于时期号t的周期数量E':从采样自N个可用客户端的M个客户端选择并且丢弃初始L个客户端,并且可选地,其中,初始L≤M并且基于用于M个客户端内的每个客户端i处的数据点的采样分布qi之一或基于均匀采样;从剩余客户端N-M或N-M+初始L选择随后L个客户端,并且可选地,其中,随后L≤M并且基于用于剩余客户端内的每个客户端i处的数据点的采样分布qi;确定用于所述随后L个客户端的负载均衡参数;作为一个阶段操作,从所述随后L个客户端中的每个客户端i接收经编码数据数量,所述经编码数据数量基于li、li*和t*。
示例PCA1包括一种用于在边缘计算网络中操作的第一边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述第一边缘计算节点的一个或多个组件;和处理器,其用于:对来自第二边缘计算节点的第一消息进行解码,所述第一消息包括关于用于联邦机器学习训练的目标数据分布的信息;从所述第一消息确定所述目标数据分布;基于所述第一边缘计算节点的局部数据分布与所述目标数据分布之间的散度,对客户端报告进行编码以用于向所述第二边缘计算节点的传输;产生所述客户端报告向所述第二计算节点的传输;对来自所述第二边缘计算节点的第二消息进行解码,所述第二消息包括关于与所述联邦机器学习训练的全局时期关联的全局模型的信息;以及基于所述全局模型更新所述第一边缘计算节点处的局部梯度。
示例PCA2包括如示例PCA1所述的主题,所述处理器进一步用于:对加权损失信息进行编码,以用于向所述第二边缘计算节点的传输;产生所述加权损失信息向所述第二边缘计算节点的传输;关于向所述第二边缘计算节点的传输,对局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk进行编码,其中,wk,t+e与所述第一边缘计算节点在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于所述第一边缘计算节点在全局时期t和局部时期e的的梯度估计对应,pk与所述第一边缘计算节点的原始采样分布对应,并且q是用于所述第一边缘计算节点的概率分布;以及产生所述局部权重更新向所述第二边缘计算节点的传输。
示例PCA3包括如示例PCA1-PCA2中任一项所述的主题,其中,所述第一边缘计算节点处的数据分布与非独立同分布数据(非i.i.d.)对应。
示例PCA4包括如示例PCA1-PCA3中任一项所述的主题,所述处理器用于执行联邦机器学习训练的轮次,其包括:处理来自所述第二边缘计算节点的能力请求;响应于所述能力请求,生成关于所述边缘计算节点的计算能力和通信能力的能力报告;产生所述能力报告向所述服务器的传输;在产生所述能力报告的传输之后,对来自所述第二边缘计算节点的所述第二消息进行解码,以针对所述第二边缘计算节点初始化联邦机器学习训练轮次的训练参数;以及对于所述联邦机器学习训练轮次基于所述全局模型报告更新后的模型权重。
示例PCA5包括如示例PCA4所述的主题,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述第二边缘计算节点的上行链路通信时间。
示例PCA6包括如示例PCA4—PCA5中任一项所述的主题,其中,所述能力报告还包括关于所述客户端处的训练示例数量的信息。
示例PCA7包括如示例PCA1-PCA3中任一项所述的主题,所述处理器用于:关于向第二边缘计算节点的传输,对包括以下中的至少一个的能力报告进行编码:基于所述第一边缘计算节点的训练损失以用于所述第二边缘计算节点训练进行的联邦机器学习训练的全局时期的信息、或基于所述第一边缘计算节点相对于所述第一边缘计算节点的预激活输出的梯度的信息;产生所述能力报告的传输;以及对于所述联邦机器学习训练的下一全局时期,对来自所述第二边缘计算节点的更新后的全局模型进行解码。
示例PCA8包括如示例PCA7所述的主题,所述处理器用于在产生所述能力报告的传输之前进一步对所述第二消息进行解码。
示例PCA9包括如示例PCA7-PCA8中任一项所述的主题,其中,所述能力报告还包括用于与所述第二边缘计算节点的通信的上行链路通信时间或下行链路通信时间中的至少一个和计算速率。
示例PCA10包括如示例PCA1所述的主题,所述处理器用于:
基于内核函数、所述第一边缘计算节点的局部原始训练数据集和与所述局部原始训练数据集对应的原始标签集计算内核系数;
从所述原始训练数据集生成经编码训练数据集;基于所述内核系数、所述内核函数和所述原始标签集生成经编码标签集;使所述经编码训练数据集发送到所述第二边缘计算节点。
示例PCA11包括如示例PCA1所述的主题,所述处理器用于进一步:
访问所述第一边缘计算节点的局部训练数据集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;在对所述第二消息进行解码之后,以迭代方式,直到全局模型收敛:使用所述经变换数据集和与所述训练数据集对应的原始标签集计算对所述全局模型的更新,以获得更新后的全局模型;以及使所述更新发送到所述第二边缘计算节点。
示例PCA12包括如示例PA1所述的主题,所述处理器用于:访问所述第一边缘计算节点的局部训练数据集和与所述局部训练数据集对应的标签集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;基于所述经变换训练数据集和所述标签集估计局部机器学习(ML)模型;从所述经变换训练数据集生成经编码训练数据集;基于所述经编码训练数据集和所估计的局部ML模型生成经编码标签集;以及使所述经编码训练数据集发送到所述第二边缘计算节点。
示例PCA13包括如示例PCA1所述的主题,所述处理器用于:访问所述第一边缘计算节点的局部训练数据集的子集;基于随机傅立叶特征映射(RFFM)变换和所述训练数据子集生成经变换训练数据子集;基于分布生成编码矩阵;生成加权矩阵;
基于将所述经变换训练数据子集与所述编码矩阵和所述加权矩阵相乘,生成经编码训练数据小批量;以及使所述经编码训练数据小批量发送到所述第二边缘计算节点;其中,所述加权矩阵基于是否将在所述第二边缘计算节点处接收所述经编码训练数据小批量的概率。
示例PCA14包括如示例PCA1所述的主题,所述处理器用于:
从所述边缘计算网络的第一边缘计算节点集合中的每一个获得用于待对所述联邦ML训练的全局机器学习(ML)模型执行的经编码联邦学习(CFL)周期的最大编码冗余值;
基于从所述边缘计算设备接收的所述最大编码冗余值确定编码冗余值;基于所述选定编码冗余值,确定在所述CFL周期的每个时期期间在每个边缘计算设备处待处理的时期时间和数据点数量;以及使所确定的编码冗余值、时期时间和在每个边缘计算设备处待处理的数据点数量发送到所述边缘计算设备集合。
示例PCA15包括如示例PCA1所述的主题,所述处理器用于:基于对于所述联邦机器学习的周期的差分隐私保证确定经编码隐私预算和未编码隐私预算;基于所述经编码隐私预算,从所述第一边缘计算节点的原始数据集生成经编码数据集;使所述经编码数据集发送到所述第二边缘计算节点;对所述全局模型执行所述联邦机器学习的轮次,包括:在接收到所述第二消息之后,基于所述原始数据集和所述未编码隐私预算计算对所述全局模型的更新;以及产生对所述全局模型的所述更新向所述第二边缘计算节点的传输。
示例PCA16包括如示例PCA1-示例PCA15中-任一项所述的主题,其中,所述第一边缘计算节点是移动客户端计算节点。
示例PCM1一种在边缘计算网络中的第一边缘计算节点处待执行的方法,所述方法包括:对来自第二边缘计算节点的第一消息进行解码,所述第一消息包括关于用于联邦机器学习训练的目标数据分布的信息;从所述第一消息确定所述目标数据分布;基于所述第一边缘计算节点的局部数据分布与所述目标数据分布之间的散度,对客户端报告进行编码以用于向所述第二边缘计算节点的传输;产生所述客户端报告向所述第二计算节点的传输;对来自所述第二边缘计算节点的第二消息进行解码,所述第二消息包括关于与所述联邦机器学习训练的全局时期关联的全局模型的信息;以及基于所述全局模型更新所述第一边缘计算节点处的局部梯度。
示例PCM2包括如示例PCM1所述的主题,所述方法包括:
对加权损失信息进行编码,以用于向所述第二边缘计算节点的传输;产生所述加权损失信息向所述第二边缘计算节点的传输;关于向所述第二边缘计算节点的传输,对局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk进行编码,其中,wk,t+e与所述第一边缘计算节点在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于所述第一边缘计算节点在全局时期t和局部时期e的的梯度估计对应,pk与所述第一边缘计算节点的原始采样分布对应,并且q是用于所述第一边缘计算节点的概率分布;以及产生所述局部权重更新向所述第二边缘计算节点的传输。
示例PCM3包括如示例PCM1-PCM2中任一项所述的主题,其中,所述第一客户端计算节点处的数据分布与非独立同分布数据(非i.i.d.)对应。
示例PCM4包括如示例PCM1-PCM3中任一项所述的主题,所述方法包括:执行联邦机器学习训练的轮次,其包括:处理来自所述第二边缘计算节点的能力请求;响应于所述能力请求,生成关于所述边缘计算节点的计算能力和通信能力的能力报告;产生所述能力报告向所述服务器的传输;在产生所述能力报告的传输之后,对来自所述第二边缘计算节点的所述第二消息进行解码,以针对所述第二边缘计算节点初始化联邦机器学习训练轮次的训练参数;以及对于所述联邦机器学习训练轮次基于所述全局模型报告更新后的模型权重。
示例PCM5包括如示例PCM4所述的主题,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述第二边缘计算节点的上行链路通信时间。
示例PCM6包括如示例PCM4—PCM5中任一项所述的主题,其中,所述能力报告还包括关于所述客户端处的训练示例数量的信息。
示例PCM7包括如示例PCM1-PCM3中任一项所述的主题,所述方法包括:关于向所述第二边缘计算节点的传输,对包括以下中的至少一个的能力报告进行编码:基于所述第一边缘计算节点的训练损失以用于所述第二边缘计算节点训练进行的联邦机器学习训练的全局时期的信息、或基于所述第一边缘计算节点相对于所述第一边缘计算节点的预激活输出的梯度的信息;产生所述能力报告的传输;以及对于所述联邦机器学习训练的下一全局时期,对来自所述第二边缘计算节点的更新后的全局模型进行解码。
示例PCM8包括如示例PCM7所述的主题,所述方法包括:在产生所述能力报告的传输之前对所述第二消息进行解码。
示例PCM9包括如示例PCM7-PCM8中任一项所述的主题,其中,所述能力报告还包括用于与所述第二边缘计算节点的通信的上行链路通信时间或下行链路通信时间中的至少一个和计算速率。
示例PCM10包括如示例PCM1所述的主题,所述方法包括:
基于内核函数、所述第一边缘计算节点的局部原始训练数据集和与所述局部原始训练数据集对应的原始标签集计算内核系数;
从所述原始训练数据集生成经编码训练数据集;基于所述内核系数、所述内核函数和所述原始标签集生成经编码标签集;使所述经编码训练数据集发送到所述第二边缘计算节点。
示例PCM11包括如示例PCM1所述的主题,所述方法还包括:
访问所述第一边缘计算节点的局部训练数据集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;在对所述第二消息进行解码之后,以迭代方式,直到全局模型收敛:使用所述经变换数据集和与所述训练数据集对应的原始标签集计算对所述全局模型的更新,以获得更新后的全局模型;以及使所述更新发送到所述第二边缘计算节点。
示例PCM12包括如示例PA1所述的主题,所述方法包括:
访问所述第一边缘计算节点的局部训练数据集和与所述局部训练数据集对应的标签集;将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;基于所述经变换训练数据集和所述标签集估计局部机器学习(ML)模型;
从所述经变换训练数据集生成经编码训练数据集;基于所述经编码训练数据集和所估计的局部ML模型生成经编码标签集;以及
使所述经编码训练数据集发送到所述第二边缘计算节点。
示例PCM13包括如示例PCM1所述的主题,所述方法包括:
访问所述第一边缘计算节点的局部训练数据集的子集;基于随机傅立叶特征映射(RFFM)变换和所述训练数据子集生成经变换训练数据子集;基于分布生成编码矩阵;
生成加权矩阵;基于将所述经变换训练数据子集与所述编码矩阵和所述加权矩阵相乘,生成经编码训练数据小批量;以及使所述经编码训练数据小批量发送到所述第二边缘计算节点;其中,所述加权矩阵基于是否将在所述第二边缘计算节点处接收所述经编码训练数据小批量的概率。
示例PCM14包括如示例PCM1所述的主题,所述方法包括:
从所述边缘计算网络的第一边缘计算节点集合中的每一个获得用于待对所述联邦ML训练的全局机器学习(ML)模型执行的经编码联邦学习(CFL)周期的最大编码冗余值;基于从所述边缘计算设备接收的所述最大编码冗余值确定编码冗余值;基于所述选定编码冗余值,确定在所述CFL周期的每个时期期间在每个边缘计算设备处待处理的时期时间和数据点数量;以及使所确定的编码冗余值、时期时间和在每个边缘计算设备处待处理的数据点数量发送到所述边缘计算设备集合。
示例PCM15包括如示例PCM1所述的主题,所述方法包括:基于对于所述联邦机器学习的周期的差分隐私保证确定经编码隐私预算和未编码隐私预算;基于所述经编码隐私预算,从所述第一边缘计算节点的原始数据集生成经编码数据集;使所述经编码数据集发送到所述第二边缘计算节点;对所述全局模型执行所述联邦机器学习的轮次,包括:在接收到所述第二消息之后,基于所述原始数据集和所述未编码隐私预算计算对所述全局模型的更新;以及产生对所述全局模型的所述更新向所述第二边缘计算节点的传输。
示例PSAl涉及一种用于在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,其用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,其用于:执行联邦机器学习训练的轮次,其包括:处理来自所述边缘计算网络的多个客户端的客户端报告;从所述多个客户端选择候选客户端集合,以用于联邦机器学习训练的时期;使全局模型发送到所述候选客户端集合;以及对所述候选客户端集合执行所述联邦机器学习训练。
示例PSA2包括如示例PSA1所述的主题,其中,所述处理器用于执行联邦机器学习训练的轮次,还包括:产生所述边缘计算节点处的目标数据分布向所述边缘计算网络的多个客户端的传播,以用于联邦机器学习训练,其中,各个报告中的每一个基于所述客户端中的各个客户端的局部数据分布与所述目标数据分布之间的散度;基于所述散度的大小将各个权重分派给每个各个散度,其中,较高散度具有较高权重;以及选择所述候选集合包括:基于所述权重使用轮询方法。
示例PSA3包括如示例PSA2所述的主题,其中,与每个客户端对应的所述散度基于Kullback-Leibler散度或所述每个客户端的局部数据分布与所述目标数据分布之间的概率分布的距离之一。
示例PSA4包括如示例PSA2-PSA3中任一项所述的主题,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例PSA5包括如示例PSA1所述的主题,其中,所述处理器用于执行联邦机器学习训练的轮次,还包括:处理来自所述客户端中的每一个的加权损失信息;基于来自所述客户端中的每一个的对应客户端的所述加权损失信息确定用于所述客户中的所述每一个的概率分布q,其中,q进一步基于所述客户端中的所述每一个处的数据量和用于对于用于全局时期的所述客户端中的所述每一个的联邦机器学习训练的权重矩阵;以及选择所述候选集合包括:选择具有最高概率分布q的多个客户端作为所述候选集合。
PSA6包括如示例PSA1所述的主题,其中,所述报告包括以下中的至少一个:基于用于所述训练的时期的所述客户端中的各个客户端的训练损失的信息、或基于所述客户端中的各个客户端相对于所述客户端中的各个客户端的预激活输出的梯度的信息;并且所述处理器用于执行联邦机器学习训练的轮次,还包括:基于客户端的训练损失或其梯度之一对其进行等级排序;以及选择所述候选集合包括:选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合。
示例PSA7包括如示例权利要求PSA6所述的主题,其中,选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合包括:选择具有最高训练损失或最高梯度的第一数量的客户端作为中间集合;以及基于所述第一数量的客户端的各个上传时间从所述中间集合选择第二数量的客户端,所述第二数量的客户端与所述候选集合对应。
示例PSA8包括如示例PSA1所述的主题,其中,所述处理器用于执行联邦机器学习训练的轮次,还包括:基于多个可用客户端中的每一个的计算能力和通信能力,将来自所述可用客户端的客户端分组为各个客户端集合;以及基于轮询方法或至少基于以下中的至少一个选择候选客户端集合:所述候选集合的每个客户端的数据分布、或所述边缘计算节点处的所述机器学习训练的全局模型已经达到最小准确度阈值的确定。
示例PSA9包括如示例PSA8所述的主题,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述边缘计算节点的上行链路通信时间。
示例PSA10包括如示例PSA1-PSA9中任一项所述的主题,其中,所述处理器进一步用于:产生与联邦机器学习训练的时期对应的全局模型向所述边缘计算网络的所述多个客户端的传播。
示例PSA11包括如示例PSA1-PSA10中任一项所述的主题,其中,所述处理器进一步用于执行联邦机器学习训练的轮次,其包括:从所述选定客户端中的每一个获得经编码训练数据;以及对所述经编码训练数据执行机器学习训练。
示例PSA12包括如示例PSA11所述的主题,其中,所述处理器进一步用于:基于来自所述客户端中的每一个的最大编码冗余值确定要在对所述经编码训练数据的所述机器学习训练中使用的编码冗余值,所述最大编码冗余值指示各个客户端可以提供的经编码训练数据点的最大数量;基于所述选定编码冗余值确定在每个轮次联邦机器学习期间每个客户端处待处理的时期时间和数据点数量;以及使所确定的编码冗余值、时期时间和在每个客户端处待处理的数据点数量发送到所述选定客户端。
示例PSA13包括如示例PSA1所述的主题,其中,所述处理器进一步用于:对于时期号t的周期数量E':从采样自N个可用客户端的M个客户端丢弃初始L个客户端;从剩余客户端N-M或N-M+初始L个客户端选择随后L个客户端;确定用于所述随后L个客户端的负载均衡参数;从所述随后L个客户端中的每个客户端i接收经编码数据在所述周期数量E'之后,基于在时期号t用于K个客户端中的每个客户端i的梯度gi(t)并进一步基于在时期号t+1用于所述K客户端中的每个客户端i的梯度gi(t+1)计算与时期号t+1对应的全局权重β(t+1),其中,gi(t)是使用基于所述负载均衡参数的数据点计算的,并且gi(t+1)是使用gi(t)和所述经编码数据计算的。
示例PSA14包括如示例PSA1所述的主题,其中,所述处理器进一步用于:作为一个阶段操作,从N个可用客户端或L个客户端中的每个客户端i接收经编码训练数据点数量,其中,L≤N,所述经编码数据点数量基于li、li*和t*,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与表示所述装置和所述客户端i可以联合计算梯度的最小时期时间窗口的截止时间持续期对应;对于每一时期号t并且直到时间t*:从Li*(t*)个原始数据点接收局部梯度gi(t),其中,li*(t*)与表示在时间t*期间由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应;从每个客户端i的所述经编码数据基于每客户端梯度计算全局梯度;在时间t*之时或之后,从在每个时期号t计算的所述全局梯度计算更新后的全局梯度。
示例PSM1涉及:一种用于在边缘计算网络中的边缘计算节点的装置处执行联邦机器学习训练的方法,所述方法包括:处理来自所述边缘计算网络的多个客户端的客户端报告;从所述多个客户端选择候选客户端集合,以用于联邦机器学习训练的时期;向所述候选客户端集合发送全局模型;以及对所述候选客户端集合执行所述联邦机器学习训练。
示例PSM2包括如示例PSM1所述的主题,还包括:向所述边缘计算网络的多个客户端传播所述边缘计算节点处的目标数据分布,以用于联邦机器学习训练,其中,各个报告中的每一个基于所述客户端中的各个客户端的局部数据分布与所述目标数据分布之间的散度;基于所述散度的大小将各个权重分派给每个各个散度,其中,较高散度具有较高权重;以及选择所述候选集合包括:基于所述权重使用轮询方法。
示例PSM3包括如示例PSM2所述的主题,其中,与每个客户端对应的所述散度基于Kullback-Leibler散度或所述每个客户端的局部数据分布与所述目标数据分布之间的概率分布的距离之一。
示例PSM4包括如示例PSM2-PSM3中任一项所述的主题,其中,选择候选客户端集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(非i.i.d.)的确定。
示例PSM5包括如示例PSM1所述的主题,还包括:处理来自所述客户端中的每一个的加权损失信息;基于来自所述客户端中的每一个的对应客户端的所述加权损失信息确定用于所述客户中的所述每一个的概率分布q,其中,q进一步基于所述客户端中的所述每一个处的数据量和用于对于用于全局时期的所述客户端中的所述每一个的联邦机器学习训练的权重矩阵;以及选择所述候选集合包括:选择具有最高概率分布q的多个客户端作为所述候选集合。
示例PSM6包括如示例PSM1所述的主题,其中,所述报告包括以下中的至少一个:基于用于所述训练的时期的所述客户端中的各个客户端的训练损失的信息、或基于所述客户端中的各个客户端相对于所述客户端中的各个客户端的预激活输出的梯度的信息;并且所述方法还包括:基于客户端的训练损失或其梯度之一对其进行等级排序;以及选择所述候选集合包括:选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合。
示例PSM7包括如PSM6所述的主题,并且可选地,其中,选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合包括:选择具有最高训练损失或最高梯度的第一数量的客户端作为中间集合,并且基于所述第一数量的客户端的各个上传时间从所述中间集合选择第二数量的客户端,所述第二数量的客户端与所述候选集合对应。
示例PSM8包括如示例PSM1所述的主题,还包括:基于多个可用客户端中的每一个的计算能力和通信能力,将来自所述可用客户端的客户端分组为各个客户端集合;以及基于轮询方法或至少基于以下中的至少一个选择候选客户端集合:所述候选集合的每个客户端的数据分布、或所述边缘计算节点处的所述机器学习训练的全局模型已经达到最小准确度阈值的确定。
示例PSM9包括如示例PSM8所述的主题,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述边缘计算节点的上行链路通信时间。
示例PSM10包括如示例PSM1所述的主题,还包括:向所述边缘计算网络的所述多个客户端传播与联邦机器学习训练的时期对应的全局模型。
示例PSM11包括如示例PSM1-PSM10中任一项所述的主题,还包括:从所述选定客户端中的每一个获得经编码训练数据;以及对所述经编码训练数据执行机器学习训练。
示例PSM12包括如示例PSM11所述的主题,还包括:基于来自所述客户端中的每一个的最大编码冗余值确定要在对所述经编码训练数据的所述机器学习训练中使用的编码冗余值,所述最大编码冗余值指示各个客户端可以提供的经编码训练数据点的最大数量;基于所述选定编码冗余值确定在每个轮次联邦机器学习期间每个客户端处待处理的时期时间和数据点数量;以及向所述选定客户端发送所确定的编码冗余值、时期时间和在每个客户端处待处理的数据点数量。
示例PSM13包括如示例PSM1所述的主题,还包括:对于时期号t的周期数量E':从采样自N个可用客户端的M个客户端丢弃初始L个客户端;从剩余客户端N-M或N-M+初始L个客户端选择随后L个客户端;确定用于所述随后L个客户端的负载均衡参数;从所述随后L个客户端中的每个客户端i接收经编码数据在所述周期数量E'之后,基于在时期号t用于K个客户端中的每个客户端i的梯度gi(t)并进一步基于在时期号t+1用于所述K客户端中的每个客户端i的梯度gi(t+1)计算与时期号t+1对应的全局权重β(t+1),其中,gi(t)是使用基于所述负载均衡参数的数据点计算的,并且gi(t+1)是使用gi(t)和所述经编码数据计算的。
示例PSM14包括如示例PSM1所述的主题,还包括:作为一个阶段操作,从N个可用客户端或L个客户端中的每个客户端i接收经编码训练数据点数量,其中,L≤N,所述经编码数据点数量基于li、li*和t*,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与表示所述装置和所述客户端i可以联合计算梯度的最小时期时间窗口的截止时间持续期对应;对于每一时期号t并且直到时间t*:从Li*(t*)个原始数据点接收局部梯度gi(t),其中,li*(t*)与表示在时间t*期间由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应;从每个客户端i的所述经编码数据基于每客户端梯度计算全局梯度;在时间t*之时或之后,从在每个时期号t计算的所述全局梯度计算更新后的全局梯度。
附加示例:
示例L1包括一种装置,其包括用于执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11 、 FMM1-FMM7、 GM1-GM4、 GMM1-GMM3、GMMM1-GMMM3 、GMMMM1-GMMMM3 、 HM1-HM7 、HMM1-HMM12、 HMMM1-HMMM7、 IM1-IM10、 JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项所述的方法的一个或多个要素的部件。
示例L2包括一个或多个非瞬时计算机可读介质,其包括指令,以使电子设备在由所述电子设备的一个或多个处理器执行所述指令时执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项所述的方法的一个或多个要素。
示例L3包括一种机器可读存储,其包括机器可读指令,所述机器可读指令当执行时实现示例如AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项所述的方法。
示例L4包括一种装置,其包括:一个或多个处理器;和一个或多个计算机可读介质,其包括指令,所述指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项所述的方法。
示例L5包括如权利要求***中任一项所述的装置,还包括:收发机,其耦合到所述处理器;和一个或多个天线,其耦合到所述收发机,所述天线用于发送和接收来自边缘计算网络中的其他边缘计算节点的无线通信。
示例L6包括如权利要求L5所述的装置,还包括:系统存储器,其耦合到所述处理器,所述系统存储器存储指令,所述处理器用于执行所述指令以执行所述训练。
示例L7包括一种装置,其包括用于执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项中描述的或与之有关的方法或本文描述的任何其他方法或过程的一个或多个要素的逻辑、模块或电路。
示例L8包括一种如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项或其部分或局部中描述的或与之有关的方法、技术或过程。
示例L9包括一种装置,其包括:一个或多个处理器;和一个或多个计算机可读介质,其包括指令,所述指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项或其部分或局部中描述的或与之有关的方法、技术或过程。
示例L10包括一种本文示例中任一项或其部分或局部中描述的或与之有关的信号。
示例L11包括一种本文示例中任一项或其部分或局部中描述的或与之有关的和/或本公开中以其他方式描述的数据报、分组、帧、分段、协议数据单元(PDU)或消息。
示例L12包括一种信号,其通过本文示例中任一项或其部分或局部中描述的或与之有关的和/或本公开中以其他方式描述的数据加以编码。
示例L13包括一种信号,其通过本文示例中任一项或其部分或局部中描述的或与之有关的和/或本公开中以其他方式描述的数据报、分组、帧、分段、协议数据单元(PDU)或消息加以编码。
示例L14包括电磁信号,其携带计算机可读指令,其中,由一个或多个处理器执行所述计算机可读指令用于使所述一个或多个处理器执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项或其部分中描述的或与之有关的方法、技术或过程。
示例L15包括一种计算机程序,其包括指令,其中,由处理元件执行所述程序用于使所述处理元件执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14中任一项或其部分中描述的或与之有关的方法、技术或过程。
示例L15.5包括第一边缘计算节点与第二边缘计算节点之间或客户端计算节点与中央服务器之间的消息或通信,实质上如本文示出并且描述的那样,其中,所述消息或通信用于在应用编程接口(API)上发送/接收,或者,特别是当用以增强无线网络时,取决于应用而嵌入协议栈的L1/L2/L3层中。
示例15.6包括第一边缘计算节点与第二边缘计算节点之间或客户端计算节点与中央服务器之间的消息或通信,实质上如本文示出并且描述的那样,其中,所述消息或通信用于在无线标准(例如,802.11系列标准或第三代合作伙伴计划(3GPP)长期演进(LTE)或新空口(NR或5G)系列技术规范)中阐述的物理(PHY)层上或介质接入控制(MAC)层上发送/接收。
示例15.7包括第一边缘计算节点与第二边缘计算节点之间或客户端计算节点与中央服务器之间的消息或通信,实质上如本文示出并且描述的那样,其中,所述消息或通信涉及如上所述的参数交换,以允许估计无线谱效率,并且用于在协议栈的L1层上发送/接收。
示例15.8包括第一边缘计算节点与第二边缘计算节点之间或客户端计算节点与中央服务器之间的消息或通信,实质上如本文示出包括描述的那样,其中,所述消息或通信涉及预测边缘计算节点睡眠模式,并且用于在协议栈的L2层上发送/接收。
示例15.9包括第一边缘计算节点与第二边缘计算节点之间或客户端计算节点与中央服务器之间的消息或通信,实质上如本文示出并且描述的那样,其中,所述消息或通信用于在传送网络层、互联网协议(IP)传送层、通用无线分组服务隧道协议用户平面(GTP-U)层、用户数据报协议(UDP)层、IP层上、控制平面协议栈的层(例如,NAS、RRC、PDCP、RLC、MAC和PHY)上、用户平面协议栈的层(例如,SDAP、PDCP、RLC、MAC和PHY)上发送或接收。
示例L16包括一种如本文示出并描述的无线网络中的信号。
示例L17包括一种如本文示出并描述的在无线网络中进行通信的方法。
示例L18包括一种如本文示出并描述的用于提供无线通信的系统。
示例NODE1包括一种边缘计算节点,其包括如权利要求AA1-AA10、BA1-BA7、CA1-CA8、DA1-DA10、EA1-EA8、EAA1-EAA7、FA1-FA11、FAA1-FAA7、GA1-GA4、GAA1-GAA3、GAAA1-GAAA3、GAAAA1-GAAAA3、HA1-HA8、HAA1-HAA13、HAAA1-HAAA8、IA1-IA11、JA1-JA10、KA1-KA7、PCA1-PCA16和PSA1-PSA14中任一项所述的装置,并且还包括:收发机,其耦合到处理器;和一个或多个天线,其耦合到所述收发机,所述天线用于发送和接收来自所述边缘计算网络中的其他边缘计算节点的无线通信。
示例NODE2包括如示例NODE1所述的主题,还包括:系统存储器,其耦合到所述处理器,所述系统存储器用于存储指令,所述处理器用于执行所述指令以执行所述训练。
示例NODE3包括如示例NODE1或NODE2所述的主题,其中,所述装置是如示例EA1-EA8、EAA1-EAA7、FA1-FA11、GA1-GA4、GAA1-GAA3、HA1-HA8、HAAA1-HAAA8、JA1-JA10、KA1-KA7和PSA1-PSA14中任一项所述的装置,并且所述边缘计算节点还包括:网络接口卡(NIC),其用于为所述装置提供对核心网的有线接入;和外壳,其封装所述装置、所述收发机和所述NIC。
示例NODE4包括如NODE3所述的主题,其中,所述外壳还包括电源电路,其用于向所述装置提供电源。
示例NODE5包括如NODE3-NODE4中任一项所述的主题,其中,所述外壳还包括安装硬件,其用于赋能所述外壳对另一结构的附接。
示例NODE6包括如示例NODE3-NODE5中任一项所述的主题,其中,所述外壳还包括至少一个输入设备。
示例NODE6包括如示例NODE3-NODE6中任一项所述的主题,其中,所述外壳还包括至少一个输出设备。
示例实现是一种边缘计算系统,其包括各个边缘处理设备和节点,以调用或执行如示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是一种客户端端点节点,其可操作为调用或执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是一种聚合节点、网络中枢节点、网关节点或核心数据处理节点,其处于边缘计算系统内或耦合至其,可操作为调用或执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是一种接入点、基站、路边单元、街道边单元或驻地单元,其处于边缘计算系统内或耦合至其,可操作为调用或执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是边缘供应节点、服务编排节点、应用编排节点或多租户管理节点,其处于边缘计算系统内或耦合至其,可操作为调用或执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是一种边缘节点,其操作边缘供应服务、应用或服务编排服务、虚拟机部署、容器部署、功能部署和计算管理,处于边缘计算系统内或耦合至其,可操作为调用或执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是一种边缘计算系统,其可操作为边缘网格、具有边车装载或具有网格到网格通信的边缘网格,可操作为调用或执行示例AM1-AM9、BM1-BM7、CM1-CM8、DM1-DM9、EM1-EM8、EMM1-EMM7、FM1-FM11、FMM1-FMM7、GM1-GM4、GMM1-GMM3、GMMM1-GMMM3、GMMMM1-GMMMM3、HM1-HM7、HMM1-HMM12、HMMM1-HMMM7、IM1-IM10、JM1-JM10、KM1-KM7、PCM1-PCM15和PSM1-PSM14或本文描述的其他主题的操作。
另一示例实现是如权利要求AA1-AA10、BA1-BA7、CA1-CA8、DA1-DA10、EA1-EA8、EAA1-EAA7、FA1-FA11、FAA1-FAA7、GA1-GA4、GAA1-GAA3、GAAA1-GAAA3、GAAAA1-GAAAA3、HAA1-HAA13、IA1-IA11、JA1-JA10、KA1-KA7、PCA1-PCA16和PSA1-PSA14中任一项所述的装置,还包括:收发机,其耦合到所述处理器;和一个或多个天线,其耦合到所述收发机,所述天线用于向边缘计算网络中的其他边缘计算节点发送无线通信并且从其接收无线通信。
另一示例包括一种实质上如本文示出并且描述的装置。
另一示例包括一种实质上如本文示出并且描述的方法。
另一示例实现是如以上段落的示例所述的装置,还包括:系统存储器,其耦合到所述处理器,所述系统存储器存储指令,所述处理器用于执行所述指令以执行所述训练。
另一示例实现是一种边缘计算系统,其包括网络功能、加速功能、加速硬件、存储硬件或计算硬件资源的方面,其可操作为通过使用本文示例或本文描述其他主题调用或执行本文讨论的使用情况。
另一示例实现是一种边缘计算系统,其适用于支持客户端移动性、车辆到车辆(V2V)、车辆到万物(V2X)或车辆到基础设施(V2I)场景,并且可选地,根据ETSI MEC规范进行操作,其可操作为通过使用本文示例或本文描述的其他主题调用或执行本文讨论的使用情况。
另一示例实现是一种边缘计算系统,其适用于移动无线通信,包括根据3GPP 4G/LTE或5G网络能力的配置,其可操作为通过使用本文示例或本文描述的其他主题调用或执行本文讨论的使用情况。
除非另外明确声明,否则任何上述示例可以与任何其他示例(或示例的组合)组合。本文描述的方面也可以例如基于对谱的优先化访问(例如,其中,最高优先级用于层1用户,后接层2,然后层3等用户等)通过对于不同类型的用户引入使用的分层优先级(例如,低/中/高优先级等)实现方案的分层应用。本公开中的一些特征关于网络元件(或网络设备)(例如,接入点(AP)、eNB、gNB、核心网络元件(或网络功能)、应用服务器、应用功能等)加以定义。本文讨论的由网络元件执行的任何实施例可以附加地或替代地由UE执行,或者UE可以起到网络元件的作用(例如,对于网络设备定义的一些或所有特征可以由UE实现)。
虽然已经参考特定示例性方面描述这些实现方式,但将显而易见的是,可以在不脱离本公开的更广泛范围的情况下对这些方面进行各种修改和改变。可以通过组合方式或通过并行实现方式使用本文描述的许多布置和过程,以提供更大的带宽/吞吐量并支持可以使对正受服务的边缘系统可用的边缘服务选择。因此,说明书和附图要认为是说明性的而不是限制性的。形成其部分的附图通过说明而非限制的方式示出可以实践主题的特定方面。足够详细地描述所示方面以赋能本领域技术人员实践本文所公开的教导。可以利用其他方面并从中导出其他方面,从而可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,不应以限制性意义理解该具体实施方式,并且各个方面的范围仅由所附权利要求连同这些权利要求所赋予的等同物的全部范围一起限定。
可以在本文中单独地和/或联合地指代本发明主题的这些方面,仅为了方便,并且如果实际上公开多于一个的方面,则并非旨在自愿将本申请的范围限制为任何单个方面或发明构思。因此,虽然本文已经示出并描述特定方面,但应理解,对于所示的特定方面,可以替换针对实现同一目的而计算的任何布置。本公开旨在涵盖各个方面的任何和所有适配或变型。在浏览以上描述时,以上方面和本文未具体描述的其他方面的组合对于本领域技术人员将是显而易见的。
Claims (70)
1.一种待在边缘计算网络中操作的第一边缘计算节点的装置,所述装置包括:互连接口,用于将所述装置连接到所述第一边缘计算节点的一个或多个组件;和处理器,用于:
对来自第二边缘计算节点的第一消息进行解码,所述第一消息包括关于用于联邦机器学习训练的目标数据分布的信息;
从所述第一消息确定所述目标数据分布;
基于所述第一边缘计算节点的局部数据分布与所述目标数据分布之间的散度,对客户端报告进行编码以用于向所述第二边缘计算节点的传输;
产生所述客户端报告向所述第二计算节点的传输;
对来自所述第二边缘计算节点的第二消息进行解码,所述第二消息包括关于与所述联邦机器学习训练的全局时期关联的全局模型的信息;以及
基于所述全局模型,更新所述第一边缘计算节点处的局部梯度。
2.如权利要求1所述的装置,所述处理器进一步用于:
对加权损失信息进行编码,以用于向所述第二边缘计算节点的传输;
产生所述加权损失信息向所述第二边缘计算节点的传输;
对局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk进行编码,以用于向所述第二边缘计算节点的传输,其中,wk,t+e与所述第一边缘计算节点在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于所述第一边缘计算节点在全局时期t和局部时期e的梯度估计对应,pk与所述第一边缘计算节点的原始采样分布对应,并且q是用于所述第一边缘计算节点的概率分布;以及
产生所述局部权重更新向所述第二边缘计算节点的传输。
3.如权利要求1-2中任一项所述的装置,其中,所述第一边缘计算节点处的数据分布与非独立同分布数据(non-i.i.d)对应。
4.如权利要求1-2中任一项所述的装置,所述处理器用于执行联邦机器学习训练的轮次,包括:
处理来自所述第二边缘计算节点的能力请求;
响应于所述能力请求,生成关于所述边缘计算节点的计算能力和通信能力的能力报告;
产生所述能力报告向所述第二边缘计算节点的传输;
在产生所述能力报告的传输之后,对来自所述第二边缘计算节点的所述第二消息进行解码,以针对所述第二边缘计算节点初始化联邦机器学习训练轮次的训练参数;以及
对于所述联邦机器学习训练轮次,基于所述全局模型报告更新后的模型权重。
5.如权利要求4所述的装置,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述第二边缘计算节点的上行链路通信时间。
6.如权利要求4所述的装置,其中,所述能力报告还包括关于所述客户端处的训练示例的数量的信息。
7.如权利要求1所述的装置,所述处理器用于:
对包括以下中的至少一个的能力报告进行编码,以用于向所述第二边缘计算节点的传输:基于所述第一边缘计算节点的训练损失以用于所述第二边缘计算节点训练进行的联邦机器学习训练的全局时期的信息、或基于所述第一边缘计算节点相对于所述第一边缘计算节点的预激活输出的梯度的信息;
产生所述能力报告的传输;以及
对来自所述第二边缘计算节点的更新后的全局模型进行解码,以用于所述联邦机器学习训练的下一全局时期。
8.如权利要求7所述的装置,所述处理器用于在产生所述能力报告的传输之前进一步对所述第二消息进行解码。
9.如权利要求7-8中任一项所述的装置,其中,所述能力报告还包括用于与所述第二边缘计算节点的通信的上行链路通信时间或下行链路通信时间中的至少一个和计算速率。
10.如权利要求1所述的装置,所述处理器用于:
基于内核函数、所述第一边缘计算节点的局部原始训练数据集和与所述局部原始训练数据集对应的原始标签集,计算内核系数;
从所述原始训练数据集生成经编码训练数据集;
基于所述内核系数、所述内核函数和所述原始标签集,生成经编码标签集;以及
使所述经编码训练数据集发送到所述第二边缘计算节点。
11.如权利要求1所述的装置,所述处理器进一步用于:
访问所述第一边缘计算节点的局部训练数据集;
将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;
在对所述第二消息进行解码之后,以迭代方式进行以下步骤,直到全局模型收敛:
使用所述经变换数据集和与所述训练数据集对应的原始标签集计算对所述全局模型的更新,以获得更新后的全局模型;以及
使所述更新发送到所述第二边缘计算节点。
12.如权利要求1所述的装置,所述处理器用于:
访问所述第一边缘计算节点的局部训练数据集和与所述局部训练数据集对应的标签集;
将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;
基于所述经变换训练数据集和所述标签集,估计局部机器学习(ML)模型;
从所述经变换训练数据集生成经编码训练数据集;
基于所述经编码训练数据集和所估计的局部ML模型,生成经编码标签集;以及
使所述经编码训练数据集和经编码标签集发送到所述第二边缘计算节点。
13.如权利要求1所述的装置,所述处理器用于:
访问所述第一边缘计算节点的局部训练数据集的子集;
基于随机傅立叶特征映射(RFFM)变换和所述训练数据子集,生成经变换训练数据子集;
基于分布生成编码矩阵;
生成加权矩阵;
基于将所述经变换训练数据子集与所述编码矩阵和所述加权矩阵相乘,生成经编码训练数据小批量;以及
使所述经编码训练数据小批量发送到所述第二边缘计算节点;
其中,所述加权矩阵基于是否将在所述第二边缘计算节点处接收所述经编码训练数据小批量的概率。
14.如权利要求1所述的装置,所述处理器用于:
从所述边缘计算网络的第一边缘计算节点集合中的每一个获得用于待对所述联邦ML训练的全局机器学习(ML)模型执行的经编码联邦学习(CFL)周期的最大编码冗余值;
基于从所述边缘计算设备接收的所述最大编码冗余值,确定编码冗余值;
基于所确定的编码冗余值,确定时期时间和在所述CFL周期的每个时期期间在每个边缘计算设备处待处理的数据点数量;以及
使所确定的编码冗余值、时期时间和在每个边缘计算设备处待处理的数据点数量发送到所述边缘计算设备集合。
15.如权利要求1所述的装置,所述处理器用于:
基于对于所述联邦机器学习的周期的差分隐私保证,确定经编码隐私预算和未编码隐私预算;
基于所述经编码隐私预算,从所述第一边缘计算节点的原始数据集生成经编码数据集;
使所述经编码数据集发送到所述第二边缘计算节点;
对所述全局模型执行所述联邦机器学习的轮次,包括:
在接收到所述第二消息之后,基于所述原始数据集和所述未编码隐私预算计算对所述全局模型的更新;以及
产生对所述全局模型的更新向所述第二边缘计算节点的传输。
16.如权利要求1-15中任一项所述的装置,其中,所述第一边缘计算节点是移动客户端计算节点。
17.一种待在边缘计算网络中的第一边缘计算节点处执行的方法,所述方法包括:
对来自第二边缘计算节点的第一消息进行解码,所述第一消息包括关于用于联邦机器学习训练的目标数据分布的信息;
从所述第一消息确定所述目标数据分布;
基于所述第一边缘计算节点的局部数据分布与所述目标数据分布之间的散度,对客户端报告进行编码以用于向所述第二边缘计算节点的传输;
产生所述客户端报告向所述第二计算节点的传输;
对来自所述第二边缘计算节点的第二消息进行解码,所述第二消息包括关于与所述联邦机器学习训练的全局时期关联的全局模型的信息;以及
基于所述全局模型更新所述第一边缘计算节点处的局部梯度。
18.如权利要求17所述的方法,所述方法包括:
对加权损失信息进行编码,以用于向所述第二边缘计算节点的传输;
产生所述加权损失信息向所述第二边缘计算节点的传输;
对局部权重更新wk,t+e=wk,t+e-1-η*gk,t+e*pk/qk进行编码,以用于向所述第二边缘计算节点的传输,其中,wk,t+e与所述第一边缘计算节点在全局时期t和局部时期e的权重更新对应,η是学习速率,gk,t+e与用于所述第一边缘计算节点在全局时期t和局部时期e的梯度估计对应,pk与所述第一边缘计算节点的原始采样分布对应,并且q是用于所述第一边缘计算节点的概率分布;以及
产生所述局部权重更新向所述第二边缘计算节点的传输。
19.如权利要求17-18中任一项所述的方法,其中,所述第一边缘计算节点处的数据分布与非独立同分布数据(non-i.i.d)对应。
20.如权利要求17-18中任一项所述的方法,所述方法包括:执行联邦机器学习训练的轮次,包括:
处理来自所述第二边缘计算节点的能力请求;
响应于所述能力请求,生成关于所述边缘计算节点的计算能力和通信能力的能力报告;
产生所述能力报告向所述第二边缘计算节点的传输;
在产生所述能力报告的传输之后,对来自所述第二边缘计算节点的所述第二消息进行解码,以针对所述第二边缘计算节点初始化联邦机器学习训练轮次的训练参数;以及
对于所述联邦机器学习训练轮次,基于所述全局模型报告更新后的模型权重。
21.如权利要求20所述的方法,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述第二边缘计算节点的上行链路通信时间。
22.如权利要求20所述的方法,其中,所述能力报告还包括关于所述客户端处的训练示例的数量的信息。
23.如权利要求17所述的方法,所述方法包括:
对包括以下中的至少一个的能力报告进行编码,以用于向所述第二边缘计算节点的传输:基于所述第一边缘计算节点的训练损失以用于所述第二边缘计算节点训练进行的联邦机器学习训练的全局时期的信息,或基于所述第一边缘计算节点相对于所述第一边缘计算节点的预激活输出的梯度的信息;
产生所述能力报告的传输;以及
对来自所述第二边缘计算节点的更新后的全局模型进行解码,以用于所述联邦机器学习训练的下一全局时期。
24.如权利要求23所述的方法,所述方法包括:在产生所述能力报告的传输之前对所述第二消息进行解码。
25.如权利要求23所述的方法,其中,所述能力报告还包括用于与所述第二边缘计算节点的通信的上行链路通信时间或下行链路通信时间中的至少一个和计算速率。
26.如权利要求17所述的方法,所述方法包括:
基于内核函数、所述第一边缘计算节点的局部原始训练数据集和与所述局部原始训练数据集对应的原始标签集,计算内核系数;
从所述原始训练数据集生成经编码训练数据集;
基于所述内核系数、所述内核函数和所述原始标签集,生成经编码标签集;以及
使所述经编码训练数据集和经编码标签集发送到所述第二边缘计算节点。
27.如权利要求17所述的方法,所述方法还包括:
访问所述第一边缘计算节点的局部训练数据集;
将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;
在对所述第二消息进行解码之后,以迭代方式进行以下步骤,直到全局模型收敛:
使用所述经变换数据集和与所述训练数据集对应的原始标签集计算对所述全局模型的更新,以获得更新后的全局模型;以及
使所述更新发送到所述第二边缘计算节点。
28.如权利要求17所述的方法,所述方法包括:
访问所述第一边缘计算节点的局部训练数据集和与所述局部训练数据集对应的标签集;
将随机傅立叶特征映射(RFFM)变换应用于所述训练数据集,以产生经变换训练数据集;
基于所述经变换训练数据集和所述标签集,估计局部机器学习(ML)模型;
从所述经变换训练数据集生成经编码训练数据集;
基于所述经编码训练数据集和所估计的局部ML模型,生成经编码标签集;以及
使所述经编码训练数据集发送到所述第二边缘计算节点。
29.如权利要求17所述的方法,所述方法包括:
访问所述第一边缘计算节点的局部训练数据集的子集;
基于随机傅立叶特征映射(RFFM)变换和所述训练数据子集,生成经变换训练数据子集;
基于分布生成编码矩阵;
生成加权矩阵;
基于将所述经变换训练数据子集与所述编码矩阵和所述加权矩阵相乘,生成经编码训练数据小批量;以及
使所述经编码训练数据小批量发送到所述第二边缘计算节点;
其中,所述加权矩阵基于是否将在所述第二边缘计算节点处接收所述经编码训练数据小批量的概率。
30.如权利要求17所述的方法,所述方法包括:
从所述边缘计算网络的第一边缘计算节点集合中的每一个获得用于待对所述联邦ML训练的全局机器学习(ML)模型执行的经编码联邦学习(CFL)周期的最大编码冗余值;
基于从所述边缘计算设备接收的所述最大编码冗余值,确定编码冗余值;
基于所确定的编码冗余值,确定时期时间和在所述CFL周期的每个时期期间在每个边缘计算设备处待处理的数据点数量;以及
使所确定的编码冗余值、时期时间和在每个边缘计算设备处待处理的数据点数量发送到所述边缘计算设备集合。
31.如权利要求17所述的方法,所述方法包括:
基于对于所述联邦机器学习的周期的差分隐私保证,确定经编码隐私预算和未编码隐私预算;
基于所述经编码隐私预算,从所述第一边缘计算节点的原始数据集生成经编码数据集;
使所述经编码数据集发送到所述第二边缘计算节点;
对所述全局模型执行所述联邦机器学习的轮次,包括:
在接收到所述第二消息之后,基于所述原始数据集和所述未编码隐私预算计算对所述全局模型的更新;以及
产生对所述全局模型的更新向所述第二边缘计算节点的传输。
32.一种待在边缘计算网络中操作的边缘计算节点的装置,所述装置包括:互连接口,用于将所述装置连接到所述边缘计算节点的一个或多个组件;和处理器,用于执行联邦机器学习训练的轮次,包括:
处理来自所述边缘计算网络的多个客户端的客户端报告;
从所述多个客户端选择客户端候选集合,以用于联邦机器学习训练的时期;
使全局模型发送到所述客户端候选集合;以及
对所述客户端候选集合执行所述联邦机器学习训练。
33.如权利要求32所述的装置,其中,所述处理器用于执行联邦机器学习训练的轮次,还包括:
产生所述边缘计算节点处的目标数据分布向所述边缘计算网络的多个客户端的传播,以用于联邦机器学习训练,其中,各个报告中的每一个基于所述客户端中的相应一个客户端的局部数据分布与所述目标数据分布之间的散度;
基于所述散度的大小,将相应权重分派给每个相应散度,其中,较高散度具有较高权重;以及
选择所述候选集合,包括:基于所述权重使用轮询方法。
34.如权利要求33所述的装置,其中,与每个客户端对应的所述散度基于Kullback-Leibler散度或所述每个客户端的局部数据分布与所述目标数据分布之间的概率分布的距离之一。
35.如权利要求33-34中任一项所述的装置,其中,选择客户端候选集合基于关于所述候选集合的每个客户端的数据分布是否展现非独立同分布数据(non-i.i.d)的确定。
36.如权利要求32所述的装置,其中,所述处理器用于执行联邦机器学习训练的轮次,还包括:
处理来自所述客户端中的每一个的加权损失信息;
基于来自所述客户端中的每一个的对应客户端的所述加权损失信息,确定用于所述客户中的所述每一个的概率分布q,其中,q进一步基于所述客户端中的所述每一个处的数据量和用于对于全局时期的所述客户端中的所述每一个的联邦机器学习训练的权重矩阵;以及
选择所述候选集合包括:选择具有最高概率分布q的多个客户端作为所述候选集合。
37.如权利要求32所述的装置,其中,所述报告包括以下中的至少一个:基于用于所述训练的时期的所述客户端中的相应客户端的训练损失的信息,或基于所述客户端中的相应客户端相对于所述客户端中的相应客户端的预激活输出的梯度的信息;并且,
所述处理器用于执行联邦机器学习训练的轮次,还包括:
基于客户端的训练损失或其梯度之一对其进行等级排序;以及
选择所述候选集合包括:选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合。
38.如权利要求37所述的装置,其中,选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合包括:选择具有最高训练损失或最高梯度的第一数量的客户端作为中间集合,并且基于所述第一数量的客户端的相应上传时间,从所述中间集合选择第二数量的客户端,所述第二数量的客户端与所述候选集合对应。
39.如权利要求32所述的装置,其中,所述处理器用于执行联邦机器学习训练的轮次,还包括:
基于多个可用客户端中的每一个的计算能力和通信能力,将来自所述可用客户端的客户端分组为相应客户端集合;以及
基于轮询方法或至少基于以下中的至少一个选择客户端候选集合:所述候选集合的每个客户端的数据分布,或所述边缘计算节点处的所述机器学习训练的全局模型已经达到最小准确度阈值的确定。
40.如权利要求39所述的装置,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述第二边缘计算节点的上行链路通信时间。
41.如权利要求32、33、34和36-40中任一项所述的装置,其中,所述处理器进一步用于产生与联邦机器学习训练的时期对应的全局模型向所述边缘计算网络的所述多个客户端的传播。
42.如权利要求32、33、34和36-40中任一项所述的装置,其中,所述处理器进一步用于执行联邦机器学习训练的轮次,包括:
从所述选定客户端中的每一个获得经编码训练数据;以及
对所述经编码训练数据执行机器学习训练。
43.如权利要求42所述的装置,其中,所述处理器进一步用于:
基于来自所述客户端中的每一个的最大编码冗余值确定要在对所述经编码训练数据的所述机器学习训练中使用的编码冗余值,所述最大编码冗余值指示相应客户端可以提供的经编码训练数据点的最大数量;
基于所确定的编码冗余值,确定时期时间和在每个轮次联邦机器学习期间每个客户端处待处理的数据点数量;以及
使所确定的编码冗余值、时期时间和在每个客户端处待处理的数据点数量发送到所述选定客户端。
44.如权利要求32所述的装置,其中,所述处理器进一步用于:对于时期号t的周期数量E':
从采样自N个可用客户端的M个客户端丢弃初始L个客户端;
从剩余客户端N-M或N-M+初始L个客户端选择随后L个客户端;
确定用于所述随后L个客户端的负载均衡参数;
45.如权利要求32所述的装置,其中,所述处理器进一步用于:
作为一个阶段操作,从N个可用客户端或L个客户端中的每个客户端i接收多个经编码训练数据点,其中,L≤N,所述经编码训练数据点数量基于li、li*和t*,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与表示所述装置和所述客户端i能够联合计算梯度的最小时期时间窗口的截止时间持续期对应;
对于每一时期号t,直到时间t*:
从Li*(t*)原始数据点接收局部梯度gi(t),其中,li*(t*)与表示在时间t*期间由客户端i用以使其平均返回度量最大化的多个原始数据点的最佳负载对应;
从每个客户端i的所述经编码数据基于每客户端梯度计算全局梯度;
在时间t*之时或之后,从在每个时期号t计算的所述全局梯度计算更新后的全局梯度。
46.一种用于在边缘计算网络中的边缘计算节点的装置处执行联邦机器学习训练的方法,所述方法包括:
处理来自所述边缘计算网络的多个客户端的客户端报告;
从所述多个客户端选择客户端候选集合,以用于联邦机器学习训练的时期;
向所述客户端候选集合发送全局模型;以及
对所述客户端候选集合执行所述联邦机器学习训练。
47.如权利要求46所述的方法,还包括:
产生所述边缘计算节点处的目标数据分布向所述边缘计算网络的多个客户端的传播,以用于联邦机器学习训练,其中,各个报告中的每一个基于所述客户端中的相应客户端的局部数据分布与所述目标数据分布之间的散度;
基于所述散度的大小将相应权重分派给每个相应散度,其中,较高散度具有较高权重;以及
选择所述候选集合包括:基于所述权重使用轮询方法。
48.如权利要求47所述的方法,其中,与每个客户端对应的所述散度基于Kullback-Leibler散度或所述每个客户端的局部数据分布与所述目标数据分布之间的概率分布的距离之一。
49.如权利要求47-48中任一项所述的方法,其中,选择客户端候选集合基于关于所述候选集合的每个客户端的所述数据分布是否展现非独立同分布数据(non-i.i.d)的确定。
50.如权利要求46所述的方法,还包括:
处理来自所述客户端中的每一个的加权损失信息;
基于来自所述客户端中的每一个的对应客户端的所述加权损失信息确定用于所述客户中的所述每一个的概率分布q,其中,q进一步基于所述客户端中的所述每一个处的数据量和用于对于全局时期的所述客户端中的所述每一个的联邦机器学习训练的权重矩阵;以及
选择所述候选集合包括:选择具有最高概率分布q的多个客户端作为所述候选集合。
51.如权利要求46所述的方法,其中,所述报告包括以下中的至少一个:基于用于所述训练的时期的所述客户端中的相应客户端的训练损失的信息、或基于所述客户端中的相应客户端相对于所述客户端中的相应客户端的预激活输出的梯度的信息;并且所述方法还包括:
基于客户端的训练损失或其梯度之一对其进行等级排序;以及
选择所述候选集合包括:选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合。
52.如权利要求51所述的方法,其中,选择具有最高训练损失或最高梯度的多个客户端作为所述候选集合包括:选择具有最高训练损失或最高梯度的第一数量的客户端作为中间集合,并且基于所述第一数量的客户端的相应上传时间从所述中间集合选择第二数量的客户端,所述第二数量的客户端与所述候选集合对应。
53.如权利要求46所述的方法,还包括:
基于多个可用客户端中的每一个的计算能力和通信能力,将来自所述可用客户端的客户端分组为各个客户端集合;以及
基于轮询方法或至少基于以下中的至少一个选择客户端候选集合:所述候选集合的每个客户端的数据分布,或所述边缘计算节点处的所述机器学习训练的全局模型已经达到最小准确度阈值的确定。
54.如权利要求53所述的方法,其中,所述计算能力包括计算速率,并且所述通信能力包括对所述边缘计算节点的上行链路通信时间。
55.如权利要求46所述的方法,还包括:向所述边缘计算网络的所述多个客户端传播与联邦机器学习训练的时期对应的全局模型。
56.如权利要求46-48和50-55中任一项所述的方法,还包括:
从所述选定客户端中的每一个获得经编码训练数据;以及
对所述经编码训练数据执行机器学习训练。
57.如权利要求56所述的方法,还包括:
基于来自所述客户端中的每一个的最大编码冗余值,确定要在对所述经编码训练数据的所述机器学习训练中使用的编码冗余值,所述最大编码冗余值指示相应客户端可以提供的经编码训练数据点的最大数量;
基于所述选定编码冗余值,确定时期时间和在每个轮次联邦机器学习期间每个客户端处待处理的数据点数量;以及
向所述选定客户端发送所确定的编码冗余值、时期时间和在每个客户端处待处理的数据点数量。
58.如权利要求46所述的方法,还包括,对于时期号t的周期数量E':
从采样自N个可用客户端的M个客户端丢弃初始L个客户端;
从剩余客户端N-M或N-M+初始L个客户端选择随后L个客户端;
确定用于所述随后L个客户端的负载均衡参数;
59.如权利要求46所述的方法,还包括:
作为一个阶段操作,从N个可用客户端或L个客户端中的每个客户端i接收多个经编码训练数据点,其中,L≤N,所述经编码数据点数量基于li、li*和t*,其中,li与客户端i处的原始数据点数量对应,li*与表示由客户端i用以使其平均返回度量最大化的原始数据点数量的最佳负载对应,并且t*与表示所述装置和所述客户端i能够联合计算梯度的最小时期时间窗口的截止时间持续期对应;
对于每一时期号t,直到时间t*:
从Li*(t*)原始数据点接收局部梯度gi(t),其中,li*(t*)与表示在时间t*期间由客户端i用以使其平均返回度量最大化的多个原始数据点的最佳负载对应;
从每个客户端i的所述经编码数据基于每客户端梯度计算全局梯度;
在时间t*之时或之后,从在每个时期号t计算的所述全局梯度计算更新后的全局梯度。
60.一种边缘计算节点,包括如权利要求1、2、7、8、10-15、32-34、36-40、44和45中任一项所述的装置,并且还包括:收发机,耦合到所述处理器;和一个或多个天线,耦合到所述收发机,所述天线用于发送和接收来自所述边缘计算网络中的其他边缘计算节点的无线通信。
61.如权利要求60所述的边缘计算节点,还包括:系统存储器,耦合到所述处理器,所述系统存储器存储指令,所述处理器用于执行所述指令以执行所述训练。
62.如权利要求60所述的边缘计算节点,还包括:
网络接口卡(NIC),耦合所述该装置,以通过有线接入的方式将所述装置连接到核心网;和
外壳,容纳所述装置、所述收发机和所述NIC。
63.如权利要求62所述的边缘计算节点,其中,所述外壳还包括电源电路,用于向所述装置提供电源。
64.如权利要求62所述的边缘计算节点,其中,所述外壳还包括安装硬件,用于实现所述外壳对另一结构的附接。
65.如权利要求62所述的边缘计算节点,其中,所述外壳还包括至少一个输入设备。
66.如权利要求62所述的边缘计算节点,其中,所述外壳还包括至少一个输出设备。
67.一种装置,包括用于执行权利要求17、18、23-31、46-48、50-55、58和59中任一项所述的方法的一个或多个要素的模块。
68.一种机器可读存储装置,包括机器可读指令,所述机器可读指令当执行时实现如权利要求17、18、23-31、46-48、50-55、58和59中任一项所述的方法。
69.一种实质上如本文示出并且描述的客户端计算节点。
70.一种实质上如本文示出并且描述的服务器。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062969576P | 2020-02-03 | 2020-02-03 | |
US202062969583P | 2020-02-03 | 2020-02-03 | |
US62/969,583 | 2020-02-03 | ||
US62/969,576 | 2020-02-03 | ||
US202063087069P | 2020-10-02 | 2020-10-02 | |
US63/087,069 | 2020-10-02 | ||
US202063121852P | 2020-12-04 | 2020-12-04 | |
US63/121,852 | 2020-12-04 | ||
PCT/US2020/067068 WO2021158313A1 (en) | 2020-02-03 | 2020-12-26 | Systems and methods for distributed learning for wireless edge dynamics |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114930347A true CN114930347A (zh) | 2022-08-19 |
Family
ID=77199582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080091716.0A Pending CN114930347A (zh) | 2020-02-03 | 2020-12-26 | 用于无线边缘动态的分布式学习的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230068386A1 (zh) |
EP (1) | EP4100892A4 (zh) |
CN (1) | CN114930347A (zh) |
WO (1) | WO2021158313A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220277231A1 (en) * | 2021-02-26 | 2022-09-01 | Hitachi, Ltd. | System to invoke update of machine learning models on edge computers |
CN115438753A (zh) * | 2022-11-03 | 2022-12-06 | 电子科技大学 | 一种基于生成的衡量联邦学习协议数据安全性的方法 |
CN116580448A (zh) * | 2023-04-11 | 2023-08-11 | 深圳市大数据研究院 | 一种行为预测方法、系统、电子设备及存储介质 |
CN116821590A (zh) * | 2023-08-29 | 2023-09-29 | 江苏德赛尔科技有限公司 | 电力边缘数据的采集方法和系统 |
WO2024113420A1 (zh) * | 2022-12-01 | 2024-06-06 | 深圳先进技术研究院 | 一种基于分布式学习的刀具寿命预测方法 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3881230A2 (en) * | 2018-11-14 | 2021-09-22 | Intuitive Surgical Operations, Inc. | Convolutional neural networks for efficient tissue segmentation |
WO2020185973A1 (en) * | 2019-03-11 | 2020-09-17 | doc.ai incorporated | System and method with federated learning model for medical research applications |
US11597291B1 (en) * | 2019-10-17 | 2023-03-07 | Dell Products L.P. | Transferring power between a drone and a device during delivery |
US20210295215A1 (en) * | 2020-03-18 | 2021-09-23 | Abb Schweiz Ag | Technologies for decentralized fleet analytics |
US20210312336A1 (en) * | 2020-04-03 | 2021-10-07 | International Business Machines Corporation | Federated learning of machine learning model features |
US20230130153A1 (en) * | 2020-04-10 | 2023-04-27 | Sony Group Corporation | Information processing apparatus, server, information processing system, and information processing method |
US20210326698A1 (en) * | 2020-04-20 | 2021-10-21 | Koninklijke Philips N.V. | Training and applying models with heterogenous data |
US11256801B2 (en) | 2020-04-21 | 2022-02-22 | doc.ai, Inc. | Artificial intelligence-based generation of anthropomorphic signatures and use thereof |
US11977986B2 (en) * | 2020-07-09 | 2024-05-07 | International Business Machines Corporation | Dynamic computation rates for distributed deep learning |
US11875256B2 (en) | 2020-07-09 | 2024-01-16 | International Business Machines Corporation | Dynamic computation in decentralized distributed deep learning training |
US11886969B2 (en) | 2020-07-09 | 2024-01-30 | International Business Machines Corporation | Dynamic network bandwidth in distributed deep learning training |
WO2022020561A1 (en) * | 2020-07-23 | 2022-01-27 | Idac Holdings, Inc. | Methods, apparatus, and systems for enabling wireless reliability and availability in multi-access edge deployments |
EP4233486A1 (en) * | 2020-10-20 | 2023-08-30 | L3Vel, Llc | Edge computing platform based on wireless mesh architecture |
US20220182802A1 (en) * | 2020-12-03 | 2022-06-09 | Qualcomm Incorporated | Wireless signaling in federated learning for machine learning components |
CN113890564B (zh) * | 2021-08-24 | 2023-04-11 | 浙江大学 | 基于联邦学习的无人机专用自组网跳频抗干扰方法及装置 |
CN115730631A (zh) * | 2021-08-30 | 2023-03-03 | 华为云计算技术有限公司 | 联邦学习的方法和装置 |
CN115842737A (zh) * | 2021-09-02 | 2023-03-24 | 大唐移动通信设备有限公司 | 机器学习模型处理方法、装置及存储介质 |
US11895504B2 (en) * | 2021-09-03 | 2024-02-06 | Cisco Technology, Inc. | Federated multi-access edge computing availability notifications |
CN113761748B (zh) * | 2021-09-09 | 2023-09-15 | 中国矿业大学 | 一种基于联邦增量随机配置网络的工业过程软测量方法 |
CN113852692B (zh) * | 2021-09-24 | 2024-01-30 | 中国移动通信集团陕西有限公司 | 服务确定方法、装置、设备及计算机存储介质 |
CN113837108B (zh) * | 2021-09-26 | 2023-05-23 | 重庆中科云从科技有限公司 | 人脸识别方法、装置及计算机可读存储介质 |
GB2611765B (en) * | 2021-10-08 | 2024-01-31 | Samsung Electronics Co Ltd | Method, system and apparatus for monocular depth estimation |
WO2023069130A1 (en) * | 2021-10-21 | 2023-04-27 | Rakuten Mobile, Inc. | Cooperative training migration |
US11917654B2 (en) * | 2021-10-26 | 2024-02-27 | Dell Products, Lp | System and method for intelligent wireless carrier link management system at user equipment devices |
CN116050544A (zh) * | 2021-10-28 | 2023-05-02 | 华为技术有限公司 | 联邦学习方法及相关装置 |
CN113726823B (zh) * | 2021-11-03 | 2022-02-22 | 清华大学 | 一种防御方法、装置、电子设备及存储介质 |
WO2023082207A1 (en) * | 2021-11-12 | 2023-05-19 | Lenovo (Beijing) Limited | Methods and apparatuses for user equipment selecting and scheduling in intelligent wireless system |
CN114065951A (zh) * | 2021-11-17 | 2022-02-18 | 黑龙江大学 | 基于non-IID数据的半监督联邦学习方法 |
US20230177385A1 (en) * | 2021-12-08 | 2023-06-08 | International Business Machines Corporation | Federated machine learning based on partially secured spatio-temporal data |
CN114217933A (zh) * | 2021-12-27 | 2022-03-22 | 北京百度网讯科技有限公司 | 多任务调度方法、装置、设备以及存储介质 |
CN114065950B (zh) * | 2022-01-14 | 2022-05-03 | 华控清交信息科技(北京)有限公司 | 一种gbdt模型训练中的梯度聚合方法、装置及电子设备 |
CN114091356B (zh) * | 2022-01-18 | 2022-05-20 | 北京邮电大学 | 一种联邦学习方法及装置 |
CN114554459B (zh) * | 2022-01-19 | 2023-01-06 | 苏州大学 | 一种近端策略优化辅助的车联网联邦学习客户端选择方法 |
US20230239042A1 (en) * | 2022-01-26 | 2023-07-27 | Microsoft Technology Licensing, Llc | Generating model update data at satellite |
CN114595000B (zh) * | 2022-02-11 | 2023-05-02 | 内蒙古工业大学 | 一种面向边缘智能的高弹性多节点协同模型卸载方法 |
CN114548426B (zh) * | 2022-02-17 | 2023-11-24 | 北京百度网讯科技有限公司 | 异步联邦学习的方法、业务服务的预测方法、装置及系统 |
CN116801269A (zh) * | 2022-03-10 | 2023-09-22 | 华为技术有限公司 | 通信方法与通信装置 |
US12026270B2 (en) * | 2022-03-11 | 2024-07-02 | Intuit Inc. | Seed generation for electronic data perturbation |
US20230289169A1 (en) * | 2022-03-14 | 2023-09-14 | Dell Products L.P. | Cross-organization continuous update of edge-side event detection models in warehouse environments via federated learning |
US11973663B2 (en) * | 2022-03-30 | 2024-04-30 | Bank Of America Corporation | Artificial intelligence based real-time service discovery and binding technique |
CN114866429B (zh) * | 2022-04-28 | 2023-07-18 | 中国科学技术大学苏州高等研究院 | 联合路由决策和网内聚合的分布式模型训练方法和装置 |
WO2023214418A1 (en) * | 2022-05-02 | 2023-11-09 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, second node and methods performed thereby for handling testing of code |
CN114882335B (zh) * | 2022-05-05 | 2023-07-28 | 河北工业大学 | 基于联邦学习框架面向感算云一体化的智能图像传感装置 |
WO2023220069A1 (en) * | 2022-05-13 | 2023-11-16 | Cipherome, Inc. | Interoperable privacy-preserving multi-center distributed machine learning method for healthcare applications |
CN115081002B (zh) * | 2022-06-28 | 2024-05-14 | 西安电子科技大学 | 用于去中心化联邦学习的聚合服务器选择方法 |
US11928135B2 (en) * | 2022-06-29 | 2024-03-12 | Bank Of America Corporation | Edge computing data reproduction and filtering gatekeeper |
US20240020160A1 (en) * | 2022-07-14 | 2024-01-18 | Antaris, Inc. | Virtual flatsat and distributed digital nodes |
CN114915429B (zh) * | 2022-07-19 | 2022-10-11 | 北京邮电大学 | 一种通信感知计算一体化网络分布式可信感知方法及系统 |
CN116055675A (zh) * | 2022-08-29 | 2023-05-02 | 中建八局第三建设有限公司 | 一种基于卷积神经网络的施工现场安全防护网安装监测方法 |
WO2024054699A1 (en) * | 2022-09-07 | 2024-03-14 | Qualcomm Incorporated | User verification via secure federated machine learning |
CN116541779B (zh) * | 2023-07-07 | 2023-10-31 | 北京邮电大学 | 个性化公共安全突发事件检测模型训练方法、检测方法及装置 |
CN116566992B (zh) * | 2023-07-10 | 2023-11-28 | 北京智芯微电子科技有限公司 | 边缘计算的动态协同方法、装置、计算机设备和存储介质 |
CN116822661B (zh) * | 2023-08-30 | 2023-11-14 | 山东省计算中心(国家超级计算济南中心) | 基于双服务器架构的隐私保护可验证联邦学习方法 |
CN117592584B (zh) * | 2023-12-11 | 2024-06-14 | 滇西应用技术大学 | 一种基于联邦学习的随机多模型隐私保护方法 |
CN117707026B (zh) * | 2024-02-05 | 2024-06-07 | 中铁四局集团有限公司 | 基于多源异构系统的场景联动平台及其构建方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10187413B2 (en) * | 2016-03-25 | 2019-01-22 | Cisco Technology, Inc. | Network-based approach for training supervised learning classifiers |
CN109716346A (zh) * | 2016-07-18 | 2019-05-03 | 河谷生物组学有限责任公司 | 分布式机器学习系统、装置和方法 |
US20180089587A1 (en) * | 2016-09-26 | 2018-03-29 | Google Inc. | Systems and Methods for Communication Efficient Distributed Mean Estimation |
US11488054B2 (en) * | 2017-12-06 | 2022-11-01 | Google Llc | Systems and methods for distributed on-device learning with data-correlated availability |
JP6753874B2 (ja) * | 2018-02-16 | 2020-09-09 | 日本電信電話株式会社 | 分散深層学習システム |
US11244242B2 (en) | 2018-09-07 | 2022-02-08 | Intel Corporation | Technologies for distributing gradient descent computation in a heterogeneous multi-access edge computing (MEC) networks |
-
2020
- 2020-12-26 US US17/790,950 patent/US20230068386A1/en active Pending
- 2020-12-26 WO PCT/US2020/067068 patent/WO2021158313A1/en unknown
- 2020-12-26 EP EP20917584.3A patent/EP4100892A4/en active Pending
- 2020-12-26 CN CN202080091716.0A patent/CN114930347A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220277231A1 (en) * | 2021-02-26 | 2022-09-01 | Hitachi, Ltd. | System to invoke update of machine learning models on edge computers |
CN115438753A (zh) * | 2022-11-03 | 2022-12-06 | 电子科技大学 | 一种基于生成的衡量联邦学习协议数据安全性的方法 |
CN115438753B (zh) * | 2022-11-03 | 2023-01-06 | 电子科技大学 | 一种基于生成的衡量联邦学习协议数据安全性的方法 |
WO2024113420A1 (zh) * | 2022-12-01 | 2024-06-06 | 深圳先进技术研究院 | 一种基于分布式学习的刀具寿命预测方法 |
CN116580448A (zh) * | 2023-04-11 | 2023-08-11 | 深圳市大数据研究院 | 一种行为预测方法、系统、电子设备及存储介质 |
CN116580448B (zh) * | 2023-04-11 | 2024-04-16 | 深圳市大数据研究院 | 一种行为预测方法、系统、电子设备及存储介质 |
CN116821590A (zh) * | 2023-08-29 | 2023-09-29 | 江苏德赛尔科技有限公司 | 电力边缘数据的采集方法和系统 |
CN116821590B (zh) * | 2023-08-29 | 2024-03-26 | 江苏德赛尔科技有限公司 | 电力边缘数据的采集方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230068386A1 (en) | 2023-03-02 |
EP4100892A1 (en) | 2022-12-14 |
EP4100892A4 (en) | 2024-03-13 |
WO2021158313A1 (en) | 2021-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230068386A1 (en) | Systems and methods for distributed learning for wireless edge dynamics | |
US20230177349A1 (en) | Federated learning optimizations | |
EP3985511A1 (en) | Orchestration of meshes | |
US11824784B2 (en) | Automated platform resource management in edge computing environments | |
US20200296155A1 (en) | Method, system and product to implement deterministic on-boarding and scheduling of virtualized workloads for edge computing | |
EP3885908A1 (en) | A computer-readable storage medium, an apparatus and a method to select access layer devices to deliver services to clients in an edge computing system | |
EP4020880A1 (en) | Method, apparatus and machine-readable storage to verify trained models in an edge environment | |
CN111953725A (zh) | 边缘计算环境中的加速的自动定位 | |
CN114338679A (zh) | 用于边缘环境中的工作负荷布置的方法、设备和制品 | |
CN111865647A (zh) | 使用分解的芯片粒进行边缘计算的模块化i/o配置 | |
US20220377614A1 (en) | Apparatus, system, method and computer-implemented storage media to implement radio resource management policies using machine learning | |
CN114205349A (zh) | 弹性功率缩放 | |
CN114679449A (zh) | 中立主机边缘服务 | |
US20210021484A1 (en) | Methods and apparatus to schedule workloads based on secure edge to device telemetry | |
CN115516425A (zh) | 用于工作负载经优化中央处理单元(cpu)的系统、方法和装置 | |
CN115882981A (zh) | 下一代网络中的带有协作式频谱感测的非许可频谱采集 | |
US20230169397A1 (en) | Methods and apparatus for attestation of an artificial intelligence model | |
US20230119552A1 (en) | Resource management mechanisms for stateful serverless clusters in edge computing | |
CN114253658A (zh) | 边缘计算的持续测试、集成和部署管理 | |
US20220114032A1 (en) | Infrastructure managed workload distribution | |
JP2023004857A (ja) | ネットワークフローベースのハードウェア割り当て | |
CN116339906A (zh) | 动态边缘执行的协作管理 | |
CN115866601A (zh) | 连接设备区域标识 | |
US20220007382A1 (en) | Model-assisted deep reinforcement learning based scheduling in wireless networks | |
CN114666587A (zh) | 用于感兴趣区域视频编码的技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |