저는 최근 매우 만족스러운 논문을 완성했습니다. 전체 과정이 즐거웠고 기억에 남을 뿐만 아니라 진정으로 "학문적 영향과 산업적 성과"도 달성했습니다. 나는 이 글이 차등 프라이버시(DP) 딥 러닝의 패러다임을 바꿀 것이라고 믿습니다.
이 경험은 너무 "우연"하기 때문에 (과정은 우연으로 가득 차 있고 결론은 매우 영리합니다) 관찰 --> 개념 --> 경험적 증거 - -> 이론 - >대규모 실험을 위한 완전한 프로세스. 나는 이 기사를 가볍게 유지하고 기술적인 세부 사항을 너무 많이 포함하지 않으려고 노력할 것입니다.
논문 주소: arxiv.org/abs/2206.07136
논문에 제시된 순서와 다르게 독자의 관심을 끌기 위해 일부러 결론을 처음에 배치하거나 단순화된 내용을 소개하는 경우도 있습니다. 정리를 먼저 부록으로 올리겠습니다. 이번 글에서는 제가 겪은 우회로와 연구 중 예상치 못한 상황 등을 연대순(즉, 실행 계정)으로 적어보고 싶습니다. , 과학 연구의 길을 막 시작한 동급생의 참고 자료입니다.
문제의 출처는 현재 ICLR에 기록된 스탠포드의 논문입니다:
논문 주소: https://arxiv.org/abs/ 2110.05679
이 기사는 매우 잘 작성되었습니다. 요약하면 다음과 같은 세 가지 주요 기여가 있습니다.
1 NLP 작업에서 DP 모델의 정확도가 매우 높기 때문에 언어에 개인정보 보호를 적용하는 것이 좋습니다. 모델. (반대로, CV의 DP는 매우 큰 정확도 저하를 유발합니다. 예를 들어 CIFAR10은 현재 DP 제한 하에서 사전 훈련 없이 80%의 정확도만 가지고 있지만 DP를 고려하지 않고도 쉽게 95%에 도달할 수 있습니다. 시간이 50% 미만이었습니다. )
2. 언어 모델에서는 모델이 클수록 성능이 좋아집니다. 예를 들어 GPT2의 성능은 4억 매개변수에서 8억 매개변수로 향상되었으며 많은 SOTA를 달성했습니다. (그러나 CV 및 추천 시스템에서는 더 큰 모델의 성능이 무작위 추측에 가까울 정도로 매우 열악한 경우가 많습니다. 예를 들어 CIFAR10의 DP 최고 정확도는 이전에 ResNet이 아닌 4계층 CNN을 통해 얻은 것입니다.)
NLP 작업에서는 DP 모델이 클수록 성능이 향상됩니다. [Xuechen et al. 2021]
3. 여러 작업에서 SOTA를 얻기 위한 하이퍼 매개변수는 일관됩니다. 클리핑 임계값은 다음과 같아야 합니다. 충분히 작게 설정하고 학습률을 더 크게 설정해야 합니다. (이전 글은 모두 작업별 클리핑 임계값 조정에 관한 내용이었는데, 이는 시간이 많이 걸리고 노동 집약적입니다. 모든 작업을 실행하는 이처럼 클리핑 임계값=0.1은 지금까지 없었으며 성능이 너무 좋습니다. )
위 요약은 논문을 읽고 나서 읽은 내용입니다. 괄호 안의 내용은 이 논문에서 나온 내용이 아니라 이전에 여러 번 읽은 내용에서 얻은 인상입니다. 이는 장기간의 독서 축적과 신속하게 연관시키고 비교할 수 있는 높은 수준의 일반화 능력에 달려 있습니다.
사실 많은 학생들이 한 기사의 내용만 볼 수 있고 전체 분야의 지식 포인트와 네트워크를 형성하거나 연관을 맺을 수 없기 때문에 정확하게 기사 작성을 시작하기가 어렵습니다. 한편, 막 시작하는 학생들은 충분히 읽지 못하고 아직 충분한 지식 포인트를 습득하지 못했습니다. 특히 오랫동안 교사로부터 프로젝트를 받아왔고 독립적으로 제안하지 않는 학생들의 경우에는 더욱 그렇습니다. 한편, 읽는 양은 충분하지만 간헐적으로 요약되지 않아 정보가 지식으로 응축되지 않거나 지식이 연결되지 않는 경우가 있다.
여기 DP 딥러닝에 대한 배경 지식이 있습니다. 지금은 DP의 정의를 건너뛰고 읽기에 영향을 미치지 않을 것입니다.
알고리즘 관점에서 소위 DP 딥 러닝이라고 불리는 것은 실제로 두 가지 추가 단계, 즉 샘플당 그래디언트 클리핑과 가우스 노이즈 추가를 수행하는 것을 의미합니다. 즉, 이 두 단계에 따라 그래디언트를 처리하는 한(처리됨) 그래디언트는 프라이빗 그래디언트라고 함) SGD/Adam을 포함하여 원하는 대로 최적화 프로그램을 사용할 수 있습니다.
최종 알고리즘이 얼마나 비공개적인가는 프라이버시 회계 이론이라는 또 다른 하위 분야의 문제입니다. 이 분야는 상대적으로 성숙하고 강력한 이론적 기반이 필요합니다. 이 기사는 최적화에 중점을 두기 때문에 여기에 나열되지 않습니다.
g_i는 데이터 포인트의 기울기(샘플당 기울기)이고, R은 클리핑 임계값이며, 시그마는 잡음 승수입니다.
Clip은 일반 그래디언트 클리핑과 마찬가지로 클리핑 기능이라고 합니다. 그래디언트가 R보다 길면 R로 클리핑되고, R보다 작으면 움직이지 않습니다.
예를 들어 SGD의 DP 버전은 현재 프라이버시 딥러닝(Abadi, Martin, et al. "Deep learning with Differential Privacy.")의 선구적인 작업에서 클리핑 기능을 사용하는 모든 논문에 사용되고 있으며, Abadi의 클리핑으로 :.
그러나 이것은 완전히 불필요합니다. 첫 번째 원칙을 따르고 개인 정보 보호 회계 이론에서 시작하면 실제로 클리핑 기능은 Clip(g_i)*g_i의 계수가 R보다 작거나 같다는 것만 만족하면 됩니다. 즉 아바디의 클리핑은 이 조건을 만족하는 하나의 함수일 뿐이지 결코 유일한 함수는 아니다.
글에는 빛나는 점이 많지만, 모두 내가 사용할 수 있는 것은 아닙니다. 나의 필요와 전문성에 따라 가장 큰 기여가 무엇인지 판단해야 합니다.
이 기사의 처음 두 기고문은 실제로 매우 경험적이어서 자세히 살펴보기가 어렵습니다. 마지막 기여는 매우 흥미롭습니다. 하이퍼파라미터에 대한 제거 연구를 주의 깊게 살펴본 결과 원저자가 발견하지 못한 점을 발견했습니다. 즉, 클리핑 임계값이 충분히 작을 때 실제로는 클리핑 임계값(즉, 클리핑 표준 C)이 발견되었습니다. , 위 수식에서 R은 변수임)에는 아무런 영향이 없습니다.
세로 방향으로 C=0.1, 0.4, 1.6은 DP-Adam과 차이가 없습니다[Xuechen et al.
이것이 내 관심을 불러일으켰고, 그 뒤에는 어떤 원칙이 있을 것이라고 느꼈습니다. 그래서 나는 그들이 그 이유를 보곤 했던 DP-Adam을 직접 작성했습니다. 사실 매우 간단합니다.
R이 충분히 작다면 클리핑은 실제로 정규화와 동일합니다! 간단히 전용 그래디언트(1.1)로 대체하면 R을 클리핑 부분과 노이즈 부분에서 각각 추출할 수 있습니다.
그리고 Adam의 형식으로 인해 R은 그래디언트와 적응 단계 크기 모두에 나타납니다. 분자 분모가 취소되면 R은 사라지고 아이디어는 거기에 있습니다!
m과 v는 모두 기울기에 의존하며 이를 전용 기울기로 바꾸면 DP-AdamW가 됩니다.
이러한 간단한 대체만으로도 첫 번째 정리가 증명됩니다. DP-AdamW에서는 충분히 작은 클리핑 임계값이 서로 동일하며 매개변수 조정이 필요하지 않습니다.
이것은 의심할 바 없이 매우 간결하고 흥미로운 관찰이지만, 충분히 이해가 되지 않기 때문에 이 관찰이 실제로 어떻게 사용되는지 생각해 볼 필요가 있습니다.
실제로 이는 DP 훈련이 매개변수 조정 작업을 몇 배나 줄인다는 것을 의미합니다. 학습률과 R이 각각 5개의 값으로 조정된다고 가정하면(위 그림 참조), 그러면 25개의 조합이 됩니다. 최적의 하이퍼파라미터를 찾기 위해서는 테스트를 거쳐야 합니다. 이제 5가지 가능성에서 학습률만 조정하면 되며 매개변수 조정 효율성이 여러 번 향상되었습니다. 이는 업계에서 매우 중요한 문제점입니다.
의도는 충분히 높고, 수학은 충분히 간결하며, 좋은 아이디어가 구체화되기 시작했습니다.
Adam/AdamW에만 해당된다면 이 작업의 한계는 여전히 너무 커서 AdamW 및 AdaGrad와 같은 다른 적응형 최적화 프로그램으로 빠르게 확장했습니다. 실제로 모든 적응형 최적화 프로그램에 대해 클리핑 임계값이 상쇄되므로 매개변수를 조정할 필요가 없으므로 정리의 풍부함이 크게 증가한다는 것이 입증될 수 있습니다.
여기에는 또 다른 흥미로운 작은 세부 사항이 있습니다. 우리 모두 알고 있듯이 AdamW는 분리된 체중 감소를 사용합니다. ICLR은 또한 이 차이점에 대한 기사를 게시했습니다
Adam에는 체중 감소를 추가하는 두 가지 방법이 있습니다.
이 차이점은 DP 옵티마이저에도 존재합니다. Adam의 경우에도 마찬가지입니다. 분리된 가중치 감소를 사용하는 경우 R 스케일링은 가중치 감소 크기에 영향을 미치지 않습니다. 그러나 일반 가중치 감소를 사용하는 경우 R을 두 배로 늘리는 것은 가중치 감소를 두 배로 줄이는 것과 같습니다.
내가 적응형 최적화 프로그램을 계속 강조한다는 사실을 똑똑한 학생들이 발견했을 수도 있습니다. 제가 SGD에 대해 이야기하지 않는 이유는 무엇입니까? 그런 다음 CV에 DP-SGD 사용에 대한 기사를 게시하고 절제 연구를 수행했지만 규칙은 Adam에서 발견된 것과 완전히 달랐기 때문에 DP-SGD에 대해 대각선 인상
을 남겼습니다. R이 충분히 작을 때 lr을 10배 증가시키는 것은 R을 10배 증가시키는 것과 같습니다[https://arxiv.org/abs/2201.12328].
이 기사를 보고 매우 기뻤습니다. Small Clipping Threshold의 효과를 입증한 또 다른 논문이었기 때문입니다.
과학계에서는 연속된 우연 뒤에 숨겨진 규칙이 있는 경우가 많습니다.
간단히 이를 대체하면 SGD가 Adam(1.3)보다 분석하기 쉽다는 것을 알 수 있습니다.
분명히 R을 다시 제안하고 학습률과 결합할 수 있으며 이는 이론적으로 입증됩니다. 구글 관찰.
「구체적으로 클리핑 노름이 k배 줄어들면 학습률도 k배 높여 비슷한 정확도를 유지해야 합니다.」
구글이 이 현상만 보고 그 수준까지 오르지 못한게 아쉽네요. 이론의. 여기에도 우연이 있는데, 위 그림에서 두 스케일의 절제 연구를 동시에 그렸다는 것인데, 왼쪽 스케일만 대각선을 보면 알 수 있다.
Adaptive step size가 없기 때문에 SGD는 Adam처럼 R을 무시하지 않고 R을 학습률의 일부로 간주하므로 별도로 조정할 필요는 없습니다. 매개변수가 조정됩니다.
그런 다음 SGD 이론을 모멘텀으로 확장하여 Pytorch에서 지원하는 모든 옵티마이저를 분석했습니다.
혁신적인 점은 있지만, 엄밀히 말하면 아바디의 클리핑은 대략적인 정규화에 불과하고 등화될 수 없기 때문에 수렴을 결론적으로 분석하는 것은 불가능합니다.
도라에몽 아이언맨 군단의 원리에 따라 6년 동안 전 분야에서 사용했던 아바디 클리핑을 대체하는 새로운 샘플별 그래디언트 클리핑 기능으로 정규화를 직접 명명한 것이 저의 두 번째 혁신 포인트입니다.
지금 막 증명한 후 새로운 클리핑에는 R이 엄격하게 필요하지 않으므로 자동 클리핑(AUTO-V, 바닐라의 경우 V)이라고 합니다.
아바디의 클리핑과는 형태가 다르기 때문에 정확도도 달라지고, 저의 클리핑에는 단점이 있을 수 있습니다.
그래서 새로운 방법을 테스트하려면 코드를 작성해야 하는데 코드 한 줄만 변경하면 됩니다(결국 만 하면 됩니다).
사실 DP 샘플별 그래디언트 클리핑 방향에는 크게 3가지 클리핑 기능이 있는데, Abadi의 클리핑 외에 제가 제안한 두 가지는 글로벌 클리핑이고, 다른 하나는 이 자동 클리핑입니다. 이전 작업에서는 이미 다양한 인기 라이브러리에서 클리핑을 변경하는 방법을 알고 있었으며 수정 방법은 기사 마지막 부분에 첨부했습니다.
테스트 후 Stanford 기사에서 GPT2의 전체 교육 프로세스 중에 모든 반복과 모든 샘플별 그라데이션이 잘린 것을 발견했습니다. 즉, 적어도 이 실험에서는 Abadi의 클리핑은 자동 클리핑과 완전히 동일합니다. 이후의 실험은 SOTA에 패했지만 이것은 나의 새로운 방법이 충분한 가치를 갖고 있음을 보여주었습니다. 즉, 클리핑 임계값을 조정할 필요가 없는 클리핑 함수이며 때로는 정확도가 희생되지 않습니다.
Stanford의 기사에는 두 가지 주요 유형의 언어 모델 실험이 있습니다. 하나는 GPT2가 모델인 생성 작업이고 다른 하나는 RoBERTa가 모델인 분류 작업입니다. 자동 클리핑은 생성 작업에 대한 Abadi의 클리핑과 동일하지만 분류 작업의 정확도는 항상 몇 포인트 더 나쁩니다.
저의 학업 습관으로 인해 지금은 데이터 세트를 변경한 다음 주요 실험을 선택하여 게시하지 않고 트릭(예: 데이터 향상 및 마법 모델 수정)을 추가하지 않겠습니다. 완전히 공정한 비교를 통해 샘플별 그래디언트 클리핑만 비교하고 가능한 최고의 무습윤 효과를 얻을 수 있기를 바랍니다.
실제로 협력자들과의 논의에서 우리는 순수 정규화와 Abadi의 클리핑이 그래디언트 크기 정보를 완전히 무시한다는 것을 발견했습니다. 즉, 자동 클리핑의 경우 원본 그래디언트가 아무리 크더라도 클리핑은 R입니다. Abadi는 R보다 작은 그래디언트에 대한 크기 정보를 유지합니다.
이 아이디어를 바탕으로 AUTO-S 클리핑(S는 stable)이라는 작지만 매우 영리한 변화를 만들었습니다.
R과 학습률의 융합은
이 됩니다. 간단한 그림을 보면 이 작은(보통 0.01로 설정되며 실제로는 다른 양수로 설정될 수 있으며 매우 견고함) 그라데이션 크기 정보를 유지할 수 있음을 알 수 있습니다.
이를 기반으로 알고리즘을 사용하거나 한 줄만 변경하고 Stanford 코드를 다시 실행하면 6개의 NLP 데이터 세트의 SOTA를 얻을 수 있습니다.
AUTO-S는 E2E 생성 작업은 물론 SST2/MNLI/QNLI/QQP 분류 작업에서도 다른 모든 클리핑 기능을 능가합니다.
스탠포드 기사의 한 가지 한계는 NLP에만 초점을 맞춘다는 점입니다. 우연의 일치는 Google이 ImageNet의 DP SOTA를 브러싱한 지 두 달 후에 Google의 자회사 DeepMind가 DP가 빛을 발하는 기사를 발표했다는 것입니다. CV는 ImageNet 정확도를 48%에서 84%로 직접적으로 향상시킵니다!
문서 주소: https://arxiv.org/abs/2204.13650
이 글에서는 먼저 옵티마이저와 클리핑 임계값의 선택을 살펴봤습니다. 부록이 이 그림으로 바뀔 때까지 말이죠. :
ImageNet의 DP-SGD SOTA에서도 클리핑 임계값이 충분히 작아야 합니다.
여전히 작은 클리핑 임계값이 가장 잘 작동합니다! 자동 클리핑을 지원하는 3개의 고품질 기사를 통해 이미 강한 의욕이 생겼고, 내 작업이 훌륭해질 것이라는 확신이 점점 더 커졌습니다.
공교롭게도 DeepMind의 이 기사는 이론이 없는 순수한 실험이기도 하며, 이로 인해 그들은 이론적으로 R이 필요하지 않을 수도 있다는 것을 거의 깨닫게 되었습니다. 사실 그들은 내 생각에 정말 가깝고 심지어 그것을 가지고 있습니다. R을 추출하여 학습률과 통합할 수 있다는 사실이 발견되었습니다(관심 있는 학생들은 공식 (2)와 (3)을 볼 수 있습니다). 그런데 아바디의 클리핑 관성이 너무 컸다... 규칙을 알아냈음에도 더 이상 나아가지 않았다.
DeepMind는 또한 작은 클리핑 임계값이 가장 잘 작동한다는 사실을 발견했지만 그 이유를 이해하지 못했습니다.
이 새로운 작업에서 영감을 받아 저는 NLP에 한 가지 방법 세트를 사용하고 CV에 다른 방법 세트를 사용하는 대신 모든 DP 연구자가 내 알고리즘을 사용할 수 있도록 CV 실험을 시작했습니다.
좋은 알고리즘은 보편적이고 사용하기 쉬워야 합니다. 자동 클리핑도 CV 데이터 세트에서 SOTA를 달성할 수 있다는 사실도 입증되었습니다.
위의 논문들을 다 보면 SOTA가 눈에 띄게 개선되었고 공학적 효과도 만점인데 이론은 완전 백지네요.
모든 실험을 마쳤을 때 이 작업의 기여도는 최고 컨퍼런스의 요구 사항을 초과했습니다. 경험의 작은 클리핑 임계값으로 인해 발생하는 DP-SGD 및 DP-Adam의 매개변수 영향을 크게 단순화했습니다. 컴퓨팅 효율성, 개인정보 보호를 희생하지 않고 매개변수 조정 없이 클리핑 기능을 사용하여 Abadi의 클리핑 및 정규화로 인한 그래디언트 크기 정보의 손상을 복구했으며 충분한 NLP 및 CV 실험을 통해 SOTA 정확도를 달성했습니다.
아직 만족스럽지 않아요. 이론적 지원이 없는 옵티마이저는 여전히 딥러닝에 실질적인 기여를 할 수 없습니다. 매년 수십 개의 새로운 옵티마이저가 제안되고, 2년차에는 모두 폐기됩니다. Pytorch에서 공식적으로 지원하고 실제로 업계에서 사용하는 것은 아직 소수에 불과합니다.
이 때문에 저와 공동 작업자들은 자동 DP-SGD 수렴 분석을 수행하는 데 2개월을 더 소비했습니다. 프로세스는 어려웠지만 최종 증명은 극도로 단순화되었습니다. 결론도 매우 간단합니다. 배치 크기, 학습률, 모델 크기, 표본 크기 및 기타 변수가 수렴에 미치는 영향이 정량적으로 표현되며 이는 알려진 모든 DP 훈련 동작과 일치합니다.
특별히, DP-SGD는 표준 SGD보다 느리게 수렴하지만 반복이 무한대에 가까워지는 경향이 있을 때 수렴 속도는 수십 배나 된다는 것을 증명했습니다. 이는 개인 정보 보호 계산에 대한 자신감을 제공합니다. DP 모델은 비록 늦었지만 수렴됩니다.
드디어 7개월간 쓴 글이 의외로 아직 끝나지 않았습니다. NeurIPS는 5월에 논문을 제출했고, 6월 14일에 내부 수정이 완료되어 arXiv에 공개되었습니다. 그 결과, 6월 27일에 Microsoft Research Asia(MSRA)가 우리와 충돌하는 기사를 게재한 것을 보았습니다. 자동 클리핑과 정확히 동일:
AUTO-S와 정확히 동일합니다.
잘 살펴보면 수렴의 증명조차 거의 같습니다. 그리고 우리 두 그룹에는 교차점이 없습니다. 태평양 건너편에서 우연이 탄생했다고 할 수 있습니다.
두 기사의 차이점에 대해 조금 이야기해 보겠습니다. 다른 기사는 더 이론적입니다. 예를 들어 Abadi DP-SGD의 수렴을 추가로 분석합니다(저는 DP-NSGD인 자동 클리핑만 증명했습니다. 그들의 기사, 어쩌면 DP-SGD를 조정하는 방법도 모르겠습니다. 사용된 가정도 다소 다르며 우리의 실험은 점점 더 커지고(12개 이상의 데이터 세트) Abadi의 클리핑 간의 등가 관계가 있습니다. 정규화는 정리 1과 2와 같이 매개변수 조정 없이 R을 사용할 수 있는 이유를 설명하는 것처럼 보다 명시적으로 확립됩니다.
동시에 작업을 하고 있기 때문에 서로 동의하고 보완할 수 있는 사람들이 있어서 이 알고리즘을 공동으로 홍보하여 커뮤니티 전체가 이 결과를 믿고 혜택을 받을 수 있다는 것이 매우 기쁩니다. 가능한 한 빨리요. 물론 이기적으로 다음 글이 가속될 것이라는 점을 상기시키기도 합니다!
이 글의 창작 과정을 되돌아보면, 출발점부터 기본적인 기술이 전제되어야 하고, 또 다른 중요한 전제 조건은 매개변수 조정의 페인 포인트에 대해 항상 생각해 왔다는 것입니다. 오랜 가뭄이 있었기 때문에 올바른 기사를 읽으면 꿀을 얻을 수 있습니다. 그 과정에서 핵심은 관찰을 수학적으로 이론화하는 습관에 있습니다. 이 작업에서는 코드를 구현하는 능력이 가장 중요하지 않습니다. 나는 또 다른 하드 코어 코딩 작업에 초점을 맞춘 또 다른 칼럼을 쓸 것입니다. 최종 융합 분석도 나의 협력자와 나의 인내에 달려 있습니다. 다행히도 맛있는 식사에 늦는 것을 두려워하지 않으니 계속 가세요!
위 내용은 Penn Machine Learning PhD: 처음부터 최고의 논문을 어떻게 작성했나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!