ಓದಲು 4 ನಿಮಿಷ
ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆ: ನಿಮ್ಮ ಖಾಸಗಿ ಡೇಟಾವನ್ನು ಕದಿಯದೆ ಮೊಬೈಲ್ ಎಐ ಮಾದರಿಗಳಿಗೆ ತರಬೇತಿ ನೀಡುವುದು ಹೇಗೆ?
30 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಅರ್ಥ
ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆ ಎಂದರೆ ಬಳಕೆದಾರರ ವೈಯಕ್ತಿಕ ಮತ್ತು ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಅವರ ಸ್ವಂತ ಮೊಬೈಲ್ ಅಥವಾ ಕಂಪ್ಯೂಟರ್ನಲ್ಲೇ ಇರಿಸಿ, ಕೇಂದ್ರ ಸರ್ವರ್ಗೆ ಕೇವಲ ಗಣಿತದ ಕಲಿಕೆಯ ಸಾರಾಂಶವನ್ನು ಮಾತ್ರ ರವಾನಿಸಿ ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯನ್ನು ಸುಧಾರಿಸುವ ವಿಕೇಂದ್ರೀಕೃತ ತಂತ್ರಜ್ಞಾನ.
ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಕ್ಲೌಡ್ಗೆ ಕಳುಹಿಸುವ ಬದಲು ಅಲ್ಗಾರಿದಮ್ಅನ್ನು ಡೇಟಾ ಇರುವಲ್ಲಿಗೇ ತರುವುದು
ಗ್ರಾಹಕ ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯ ಮೊದಲ ದಶಕದಲ್ಲಿ, ಗಣಿತದ ಲೆಕ್ಕಾಚಾರದ ನಿಯಮಾವಳಿಯನ್ನು (ಅಲ್ಗಾರಿದಮ್ ಅಥವಾ algorithm) ಸುಧಾರಿಸಬೇಕೆಂದರೆ ಬೃಹತ್ ಪ್ರಮಾಣದ ಕೇಂದ್ರೀಕೃತ ಡೇಟಾ ಸಂಗ್ರಹಣೆ ಅನಿವಾರ್ಯವಾಗಿತ್ತು. ತಂತ್ರಜ್ಞಾನ ಕಂಪನಿಯೊಂದು ತನ್ನ ಸ್ಮಾರ್ಟ್ಫೋನ್ ಕೀಬೋರ್ಡ್ನಲ್ಲಿ ನೀವು ಟೈಪ್ ಮಾಡಲು ಬಯಸುವ ಮುಂದಿನ ಪದವನ್ನು ಊಹಿಸಬೇಕೆಂದಿದ್ದರೆ, ಅಥವಾ ವೈದ್ಯಕೀಯ ಸಂಸ್ಥೆಯೊಂದು ಸ್ಕ್ಯಾನಿಂಗ್ ವರದಿಗಳಲ್ಲಿ ಅಪರೂಪದ ಗಡ್ಡೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಬಯಸಿದರೆ, ಲಕ್ಷಾಂತರ ಬಳಕೆದಾರರ ಖಾಸಗಿ ಕಡತಗಳನ್ನು ಕಂಪನಿಗಳ ಬೃಹತ್ ಡೇಟಾ ಕೇಂದ್ರಗಳಿಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿತ್ತು. ಕೇಂದ್ರ ಸರ್ವರ್ಗಳಲ್ಲಿ ಸಂಗ್ರಹವಾದ ಆ ಕಚ್ಚಾ ಪಠ್ಯ ಸಂದೇಶಗಳು, ಹುಡುಕಾಟದ ಇತಿಹಾಸ ಮತ್ತು ವೈಯಕ್ತಿಕ ಫೋಟೋಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸಿ, ಕಂಪ್ಯೂಟರ್ ಮಿದುಳಿನ ಸಂಕೀರ್ಣ ಸಂಪರ್ಕ ಜಾಲಗಳಿಗೆ (ಕೃತಕ ನರಜಾಲಗಳು ಅಥವಾ neural networks) ಬಲವಂತದ ತರಬೇತಿ ನೀಡಲಾಗುತ್ತಿತ್ತು.
ಈ ಕೇಂದ್ರೀಕೃತ ತರಬೇತಿಯು ಸಮರ್ಥ ಸಾಫ್ಟ್ವೇರ್ಗಳನ್ನು ರೂಪಿಸಿದರೂ, ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಗಂಭೀರ ಭದ್ರತಾ ಲೋಪಗಳನ್ನು ಸೃಷ್ಟಿಸಿತು. ನಾಗರಿಕರ ಖಾಸಗಿ ಸಂದೇಶಗಳು, ಹಣಕಾಸಿನ ವಹಿವಾಟುಗಳು ಮತ್ತು ಆರೋಗ್ಯ ತಪಾಸಣೆಯ ದಾಖಲೆಗಳನ್ನು ಒಂದೇ ಬೃಹತ್ ದತ್ತಸಂಚಯದಲ್ಲಿ ಸಂಗ್ರಹಿಸುವುದು ಹ್ಯಾಕರ್ಗಳಿಗೆ ಮತ್ತು ಅನಿಯಂತ್ರಿತ ಕಣ್ಗಾವಲಿಗೆ ಮುಕ್ತ ಆಹ್ವಾನ ನೀಡಿದಂತಾಯಿತು. ಇದಲ್ಲದೆ, ಯುರೋಪಿನ ಜಿಡಿಪಿಆರ್ (GDPR) ಮತ್ತು ವೈದ್ಯಕೀಯ ರಹಸ್ಯ ಸಂರಕ್ಷಣಾ ಕಾಯ್ದೆಗಳಂತಹ ಕಠಿಣ ನಿಯಮಗಳು ಜಾರಿಗೆ ಬಂದ ನಂತರ, ಸೂಕ್ಷ್ಮ ನಾಗರಿಕ ದಾಖಲೆಗಳನ್ನು ಗಡಿಯಾಚೆಗೆ ರವಾನಿಸುವುದು ಕಾನೂನುಬಾಹಿರ ಹಾಗೂ ನೈತಿಕವಾಗಿ ಅಪಾಯಕಾರಿಯಾಗಿ ಪರಿಣಮಿಸಿತು.
2016 ರಲ್ಲಿ ಸಂಶೋಧಕರು ಪರಿಚಯಿಸಿದ ವಿಕೇಂದ್ರೀಕೃತ ಕಲಿಕೆಯ ವಿಧಾನವು (ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆ ಅಥವಾ federated learning) ಈ ಇಡೀ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ತಲೆಕೆಳಗು ಮಾಡಿತು. ಜಗತ್ತಿನ ಸಮಸ್ತ ಖಾಸಗಿ ಡೇಟಾವನ್ನು ಕೇಂದ್ರ ಕಂಪ್ಯೂಟರ್ಗೆ ತರುವ ಬದಲು, ಡೇಟಾ ಈಗಾಗಲೇ ಎಲ್ಲಿ ನೆಲೆಸಿದೆಯೋ ಅಲ್ಲಿಗೇ ಕಂಪ್ಯೂಟರ್ ಕೋಡ್ ಅನ್ನು ಕಳುಹಿಸುವುದು ಈ ತಂತ್ರಜ್ಞಾನದ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಸ್ಮಾರ್ಟ್ಫೋನ್, ಕಚೇರಿಯ ಲ್ಯಾಪ್ಟಾಪ್ ಅಥವಾ ಸುಭದ್ರ ಆಸ್ಪತ್ರೆಯ ಕಂಪ್ಯೂಟರ್ಗಳು ತಮ್ಮಲ್ಲಿರುವ ಫೈಲ್ಗಳನ್ನು ಹೊರಗೆ ಕಳುಹಿಸದೆಯೇ ಸಾಧನದ ಒಳಗಡೆಯೇ ಸ್ಥಳೀಯವಾಗಿ ಮಾದರಿಯನ್ನು ತರಬೇತುಗೊಳಿಸುತ್ತವೆ.
ಫೆಡರೇಟೆಡ್ ಸರಾಸರಿಯು ಲಕ್ಷಾಂತರ ಸಾಧನಗಳ ಸಾಮೂಹಿಕ ಜ್ಞಾನವನ್ನು ಒಟ್ಟುಗೂಡಿಸುವ ಬಗೆ
ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆಯ ತಾಂತ್ರಿಕ ಕಾರ್ಯವಿಧಾನವು ಸ್ಥಳೀಯ ಸುಧಾರಣೆ ಮತ್ತು ಗಣಿತದ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯ ಅತ್ಯಂತ ವ್ಯವಸ್ಥಿತ ಚಕ್ರವನ್ನು ಅನುಸರಿಸುತ್ತದೆ:
- ಜಾಗತಿಕ ಮಾದರಿಯ ವಿತರಣೆ: ಕೇಂದ್ರ ಸಂಯೋಜಕ ಸರ್ವರ್ ಪ್ರಸ್ತುತ ಕಂಪ್ಯೂಟರ್ ಮಿದುಳಿನ ನಿಯತಾಂಕಗಳ ಪ್ರತಿಯನ್ನು (ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ ತೂಕಗಳು ಅಥವಾ neural network weights) ಅರ್ಹ ಸಾಧನಗಳಿಗೆ ರವಾನಿಸುತ್ತದೆ; ಚಾರ್ಜಿಂಗ್ನಲ್ಲಿರುವ, ಬಳಕೆಯಲ್ಲಿಲ್ಲದ ಮತ್ತು ಉಚಿತ ವೈ-ಫೈ ಸಂಪರ್ಕ ಹೊಂದಿರುವ ಸಾಧನಗಳನ್ನು ಮಾತ್ರ ಈ ಪ್ರಕ್ರಿಯೆಗೆ ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.
- ಸಾಧನದಲ್ಲೇ ಸ್ಥಳೀಯ ತರಬೇತಿ: ಸ್ಮಾರ್ಟ್ಫೋನ್ನಲ್ಲಿರುವ ಚಿಪ್ (ಎಡ್ಜ್ ಪ್ರೊಸೆಸರ್ ಅಥವಾ on-device chip) ತನ್ನಲ್ಲಿರುವ ಇತ್ತೀಚಿನ ಪಠ್ಯ ತಿದ್ದುಪಡಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮಾದರಿಯ ನಿಯತಾಂಕಗಳಲ್ಲಿ ಮಾಡಬೇಕಾದ ಹೊಂದಾಣಿಕೆಗಳನ್ನು (ಗ್ರೇಡಿಯಂಟ್ಗಳು ಅಥವಾ gradients) ಲೆಕ್ಕಹಾಕುತ್ತದೆ.
- ಕೃತಕ ಗೊಂದಲದ ಮೂಲಕ ರಕ್ಷಣೆ (ಡಿಫರೆನ್ಶಿಯಲ್ ಗೌಪ್ಯತೆ ಅಥವಾ differential privacy): ಯಾವುದೇ ಮಾಹಿತಿಯನ್ನು ರವಾನಿಸುವ ಮೊದಲು, ಸಾಧನವು ತನ್ನ ಲೆಕ್ಕಾಚಾರಕ್ಕೆ ನಿಯಂತ್ರಿತ ಗಣಿತದ ಶಬ್ದವನ್ನು ಸೇರಿಸುತ್ತದೆ; ಇದರಿಂದಾಗಿ ಯಾರಾದರೂ ಆ ಡೇಟಾವನ್ನು ಹಿಮ್ಮುಖವಾಗಿ ಪರಿಶೀಲಿಸಿ ಬಳಕೆದಾರರು ಟೈಪ್ ಮಾಡಿದ ನಿರ್ದಿಷ್ಟ ಪದಗಳನ್ನು ಮರುಸೃಷ್ಟಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
- ಸುರಕ್ಷಿತ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆ (Secure Aggregation): ಕೇಂದ್ರ ಸಂಯೋಜಕವು ಏಕಕಾಲದಲ್ಲಿ ಹತ್ತಾರು ಸಾವಿರ ಸಾಧನಗಳಿಂದ ಬಂದ ನವೀಕರಣಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ, ಫೆಡರೇಟೆಡ್ ಸರಾಸರಿ (Federated Averaging) ಎಂಬ ಗಣಿತದ ಸೂತ್ರದ ಮೂಲಕ ಆ ಸಂಖ್ಯಾತ್ಮಕ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ಒಗ್ಗೂಡಿಸಿ ಹೊಸ ಪ್ರಧಾನ ಮಾದರಿಯನ್ನು ರೂಪಿಸುತ್ತದೆ.
ಹಳೆಯ ಕ್ಲೌಡ್ ಕೀಬೋರ್ಡ್ ಮುನ್ಸೂಚನೆಗೂ ಮತ್ತು ಆಧುನಿಕ ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆಗೂ ಇರುವ ಸ್ಪಷ್ಟ ಪ್ರಾಯೋಗಿಕ ವ್ಯತ್ಯಾಸವನ್ನು ಗಮನಿಸಿ. ಹಳೆಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ವೈದ್ಯರಿಗೆ, ಸಂಗಾತಿಗೆ ಅಥವಾ ಲೆಕ್ಕಪರಿಶೋಧಕರಿಗೆ ಕಳುಹಿಸಿದ ಪ್ರತಿಯೊಂದು ಸಂದೇಶವೂ ಅಂತರ್ಜಾಲದ ಮೂಲಕ ಕಂಪನಿಯ ಸರ್ವರ್ಗಳಿಗೆ ರವಾನೆಯಾಗಿ ಅಲ್ಲಿ ದಾಖಲಾಗುತ್ತಿತ್ತು; ಇದು ನಿರಂತರ ಭದ್ರತಾ ಅಪಾಯವನ್ನು ಒಡ್ಡುತ್ತಿತ್ತು. ಆದರೆ ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆಯಲ್ಲಿ, ನೀವು ನಿರ್ದಿಷ್ಟ ಪ್ರಾದೇಶಿಕ ಆಡುಮಾತಿನ ಪದವನ್ನು ಅಥವಾ ಕುಟುಂಬದ ಮುದ್ದಿನ ಹೆಸರನ್ನು ಪದೇಪದೇ ಟೈಪ್ ಮಾಡುವುದನ್ನು ನಿಮ್ಮ ಫೋನ್ ಗಮನಿಸುತ್ತದೆ; ತನ್ನ ಸ್ಥಳೀಯ ಕೀಬೋರ್ಡ್ ಮಾದರಿಯನ್ನು ತಿದ್ದಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಕಂಪನಿಯ ಸರ್ವರ್ಗೆ ಕೇವಲ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ದಶಮಾಂಶ ಸಂಖ್ಯೆಗಳ ಸಾಲನ್ನು ಮಾತ್ರ ಕಳುಹಿಸುತ್ತದೆ. ಆ ಸಂಖ್ಯಾತ್ಮಕ ಸಂದೇಶವು 'ಈ ನಿರ್ದಿಷ್ಟ ವ್ಯಾಕರಣ ಬದಲಾವಣೆಯ ತೂಕವನ್ನು ಶೇಕಡಾ 0.003 ರಷ್ಟು ಸರಿಹೊಂದಿಸಿ' ಎಂದು ಮಾತ್ರ ಹೇಳುತ್ತದೆ. ನೀವು ಪ್ರೇಮ ಪತ್ರ ಬರೆದಿರೋ ಅಥವಾ ದಿನಸಿ ಸಾಮಗ್ರಿಗಳ ಪಟ್ಟಿ ಬರೆದಿರೋ ಎಂಬುದು ಸರ್ವರ್ ನಿರ್ವಾಹಕರಿಗೆ ಎಂದಿಗೂ ತಿಳಿಯುವುದಿಲ್ಲ.
ತಾಂತ್ರಿಕ ಮಿತಿಗಳು, ನೆಟ್ವರ್ಕ್ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಮತ್ತು ಗೌಪ್ಯತೆಯ ಗಡಿಗಳು
ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆಯು ಬಳಕೆದಾರರ ಖಾಸಗಿತನದ ರಕ್ಷಣೆಯಲ್ಲಿ ಮಹತ್ತರವಾದ ಹೆಜ್ಜೆಯಾಗಿದ್ದರೂ, ಇದು ಎಲ್ಲ ಸಮಸ್ಯೆಗಳಿಗೂ ಅಂತಿಮ ಪರಿಹಾರವಲ್ಲ. ಎಂಜಿನಿಯರ್ಗಳು ಇಂದಿಗೂ ಹಲವು ಪ್ರಮುಖ ತಾಂತ್ರಿಕ ಸವಾಲುಗಳನ್ನು ಎದುರಿಸುತ್ತಿದ್ದಾರೆ:
- ಪ್ರೊಸೆಸಿಂಗ್ ಮತ್ತು ತಾಪಮಾನದ ಹೊರೆ: ಸ್ವಯಂ ಕಲಿಯುವ ಕಂಪ್ಯೂಟರ್ ತಂತ್ರಜ್ಞಾನಕ್ಕೆ (ಮೆಷಿನ್ ಲರ್ನಿಂಗ್ ಅಥವಾ machine learning) ತರಬೇತಿ ನೀಡುವುದು ಅಪಾರ ಬ್ಯಾಟರಿ ಶಕ್ತಿಯನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಸಾಧನವನ್ನು ಬಿಸಿಮಾಡುತ್ತದೆ; ಆದ್ದರಿಂದಲೇ ಗ್ರಾಹಕರ ಮೊಬೈಲ್ಗಳು ರಾತ್ರಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿರುವಾಗ ಮಾತ್ರ ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಡೆಸುವಂತೆ ಮಿತಿ ಹೇರಲಾಗುತ್ತದೆ.
- ಮಾಹಿತಿ ಸೋರಿಕೆಯ ತಡೆ (ಗ್ರೇಡಿಯಂಟ್ ಸೋರಿಕೆ ಅಥವಾ gradient leakage): ಅತ್ಯುನ್ನತ ಡಿಫರೆನ್ಶಿಯಲ್ ಗೌಪ್ಯತೆ ಮತ್ತು ಮಾಹಿತಿ ಬಹಿರಂಗಪಡಿಸದೆ ಜಂಟಿ ಲೆಕ್ಕಾಚಾರ ನಡೆಸುವ ತಂತ್ರಜ್ಞಾನದ (ಸುರಕ್ಷಿತ ಬಹು-ಪಕ್ಷ ಗಣನೆ ಅಥವಾ Secure Multi-Party Computation) ರಕ್ಷಣೆಯಿಲ್ಲದಿದ್ದರೆ, ನುರಿತ ಸೈಬರ್ ದಾಳಿಕೋರರು ಗಣಿತದ ಅಂಕಿಗಳಿಂದ ಮೂಲ ಡೇಟಾವನ್ನು ಮರುರಚಿಸುವ ಸೈದ್ಧಾಂತಿಕ ಅಪಾಯವಿರುತ್ತದೆ.
- ಡೇಟಾ ವಿತರಣೆಯ ಅಸಮತೋಲನ: ಪ್ರಪಂಚದ ವಿವಿಧ ಭಾಗಗಳ ಜನರು ಭಿನ್ನ ರೀತಿಯಲ್ಲಿ ಟೈಪ್ ಮಾಡುತ್ತಾರೆ; ಈ ಸ್ಥಳೀಯ ಬಳಕೆಗಳು ಏಕರೂಪವಾಗಿರುವುದಿಲ್ಲ, ಇದರಿಂದಾಗಿ ಜಾಗತಿಕ ಮಾದರಿಯ ಗುಣಮಟ್ಟ ಕುಸಿಯದಂತೆ ತಡೆಯಲು ಸಂಕೀರ್ಣ ಗಣಿತದ ಸಮತೋಲನ ಬೇಕಾಗುತ್ತದೆ.
- ಇಂಟರ್ನೆಟ್ ಡೇಟಾ ಬಳಕೆ (ನೆಟ್ವರ್ಕ್ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಅಥವಾ network bandwidth): ಸರಳ ಪಠ್ಯಕ್ಕಿಂತ ಗಣಿತದ ತೂಕಗಳನ್ನು ಸಾಧನ ಮತ್ತು ಸರ್ವರ್ ನಡುವೆ ರವಾನಿಸುವುದು ಹೆಚ್ಚಿನ ಇಂಟರ್ನೆಟ್ ಬಳಸುತ್ತದೆ; ಆದ್ದರಿಂದ ಕಡತದ ಗಾತ್ರ ಕುಗ್ಗಿಸುವ ತಂತ್ರಜ್ಞಾನಗಳು (ಡೇಟಾ ಕಂಪ್ರೆಷನ್ ಅಥವಾ data compression) ಇಲ್ಲಿ ಅತ್ಯಗತ್ಯವಾಗಿವೆ.
ಫೆಡರೇಟೆಡ್ ಕಲಿಕೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು, ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯ ಬೆಳವಣಿಗೆಗಾಗಿ ನಾವು ನಮ್ಮ ಖಾಸಗಿತನವನ್ನು ಬಲಿಕೊಡಬೇಕಿಲ್ಲ ಎಂಬುದನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಸಾಫ್ಟ್ವೇರ್ ಉತ್ಪನ್ನಗಳನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ ಸಾಧನದಲ್ಲೇ ಪ್ರಕ್ರಿಯೆ ನಡೆಸುವ ಮತ್ತು ವಿಕೇಂದ್ರೀಕೃತ ನವೀಕರಣಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡುವ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದು, ಆಧುನಿಕ ಡಿಜಿಟಲ್ ಸೌಲಭ್ಯ ಮತ್ತು ಗೌಪ್ಯತೆಗಳು ಜೊತೆಜೊತೆಯಾಗಿ ಸಾಗಬಲ್ಲವು ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಮೂಲಗಳು
- Communication-Efficient Learning of Deep Networks from Decentralized DataGoogle Research
- NIST: Federated Learning Concepts and Security FoundationsNational Institute of Standards and Technology