AI 기술이 발전함에 따라 다양한 비즈니스에 관련된 AI 기술이 점점 더 다양해지고 있습니다. 동시에 AI 모델 매개변수의 수도 해마다 폭발적으로 증가하고 있습니다. AI 알고리즘 구현에 따른 높은 개발 비용과 수작업에 대한 강한 의존성을 극복하려면 알고리즘 불안정성과 긴 구현 주기 등의 문제가 인공지능 실무자를 괴롭히는 문제가 되었습니다. '자동 머신러닝 플랫폼'은 AI 구현의 부담을 해결하는 핵심 방법이다. 오늘 저는 자동 기계 학습 플랫폼 ATLAS를 구축한 Du Xiaoman의 실제 경험을 여러분과 공유하겠습니다.
먼저 Duxiaoman 머신러닝 플랫폼의 배경과 개발 과정, 현황을 소개하겠습니다.
지능형 관리: 그래프 신경망, 인과 추론, OCR 등 AI 알고리즘 기술이 접목됩니다.
AI 알고리즘은 비용이 많이 듭니다. 우선,
AI 알고리즘 효과는 불안정합니다. AI 알고리즘 효과는 전문가 경험에 따라 달라지며, 사람마다 결과가 다르며 불안정한 요인이 있습니다.
AI 알고리즘 구현은 주로 데이터 관리, 모델 훈련, 알고리즘 최적화, 배포 및 출시의 네 부분으로 나뉩니다.
알고리즘 개발의 각 단계에서 해당 단계에 참여하는 사람들의 기술 요구 사항은 크게 다릅니다.
각 단계에 필요한 기술 스택을 보면 한두 명, 세 명의 기술자가 모든 기술을 완전히 익히기는 어렵고, 수작업이 수반되는 모든 단계는 불안정한 생산 병목 현상을 야기한다는 것을 알 수 있습니다. 머신러닝 플랫폼을 사용하면 이 두 가지 문제를 해결할 수 있습니다.
우리 기계 학습 플랫폼 ATLAS는 AI 알고리즘 구현에서 수동 참여를 대체하고 효율적인 출력을 달성하며 AI 알고리즘을 촉진하는 것을 목표로 AI 제작의 전체 프로세스를 실행합니다. 연구 및 개발의 목표는 에너지 효율을 향상시키는 것입니다.及Aatlas에는 다음 네 가지 플랫폼이 포함됩니다.
라벨링 플랫폼: 사용 가능한 표시된 데이터 생산 교육을 담당합니다.
5. ATLAS: 데이터 및 교육
(1) 주석 플랫폼
주석 플랫폼은 주로 AI 알고리즘 학습을 위한 주석 데이터를 제공하므로 모델이 매우 복잡해져서 병목 현상이 발생합니다. AI 알고리즘의 효율성 모델 설계에서 데이터 품질과 수량으로 초점이 이동했기 때문에 데이터의 효율적인 생산은 AI 알고리즘 구현에 있어 중요한 연결고리입니다.
ATLAS의 데이터 주석 플랫폼은 주로 다중 장면 범위와 지능형 주석이라는 두 가지 기능과 특징을 가지고 있습니다.
(2) 데이터 플랫폼 데이터 플랫폼은 주로 거버넌스 프로세스 중 유연성을 고려할 수 있으며 샘플을 동적으로 일치시킵니다. 수억 사용자의 5,000차원 이상의 기능을 저장한 기반으로 온라인 실시간 쿼리가 가능합니다. 동적 매칭 샘플은 다양한 시나리오의 샘플 선택 및 데이터 선택 요구 사항을 충족할 수 있습니다. (3) 교육 플랫폼 교육 플랫폼은 매우 중요한 시설로 5개 계층으로 나뉩니다. 우리 배포가 서버리스형 아키텍처를 채택하는 이유는 이것이 완전히 서버리스 서비스가 아니기 때문입니다. 우리 서비스는 광범위한 일반 응용 시나리오를 지향하지 않고 모델의 온라인 서비스만을 지향하기 때문에 더 많은 시나리오와의 호환성을 고려할 필요가 없습니다. API 인터페이스 계층은 모델이 접촉하게 되는 세 부분을 제공합니다. 사용자의 경우, 사용자가 주의해야 할 부분은 그림의 주황색 부분입니다. 플랫폼에서 제공하는 API는 개발 비용을 절감할 수 있으며, 플랫폼의 거의 모든 알고리즘과 호환됩니다. 시장. API를 사용하여 모델을 개발하면 개발부터 구현까지의 과정을 하루 또는 반나절 안에 완료할 수 있습니다. 또한 클러스터 관리를 통해 플랫폼에 대한 우수한 안정성 보장, 트래픽 관리 및 용량 관리를 제공할 수 있습니다. 다음은 ATLAS의 두 가지 최적화 반복 시나리오를 보여줍니다. 예를 들어, OCR 모델을 구현하는 동안 이전 모델이 배포된 후 일부 나쁜 사례가 발생하며 이러한 나쁜 사례는 기존 주석 데이터와 관련된 융합 후 새로운 데이터 세트가 되고, AutoML 최적화 파이프라인을 통해 기존 모델을 최적화하여 새로운 모델을 생성하는 과정이 반복됩니다. 이러한 주기를 통해 모델은 추가로 1%의 정확도 향상을 유지할 수 있습니다. OCR 모델 정확도는 일반적으로 95% 이상으로 매우 높기 때문에 1%도 큰 향상입니다. 단순하고 반복적인 최적화 프로세스 대신 전체 프로세스 AutoML을 사용하고, 전문가 경험이 필요한 시나리오에서는 AutoML을 보조 최적화로 사용하고, 전체 프로세스를 사용합니다. AutoML 결과는 최적의 모델을 선택하고 온라인에 배포하기 위한 기준선으로 사용됩니다. 우리 회사에서는 이러한 최적화 방법을 통해 시나리오의 60% 이상이 성능 개선을 달성했으며, 개선 효과는 1%에서 5%에 이릅니다. 우리가 사용하는 AutoML 기술과 개선 사항을 소개하겠습니다. 먼저 기존 전문가 모델링과 비교하여 AutoML의 장점을 소개하겠습니다. AutoML의 장점은 세 가지 측면으로 나누어집니다. AutoML에서 일반적으로 사용되는 기술을 소개하겠습니다.
6. ATLAS: 배포가 온라인입니다.
7. ATLAS: 최적화 반복
2. 자동 기계 학습
1. 전문가 모델링과 AutoML
2. AutoML 소개
AutoML에는 세 가지 측면이 포함됩니다.
다음 섹션에서는 이 세 가지 기술을 각각 소개합니다.
3. 자동 머신러닝 플랫폼: 자동 최적화 파이프라인
첫 번째는 슈퍼 매개변수 최적화 부분입니다. 실제로 우리의 자동 최적화 파이프라인에서는 하이퍼파라미터 최적화뿐만 아니라 머신러닝 파이프라인 전체가 자동 최적화의 대상으로 사용됩니다. 자동화된 기능 엔지니어링, 모델 선택, 모델 훈련 및 자동 통합 등을 포함하여 개별 하이퍼파라미터 최적화에 비해 과적합 가능성이 줄어듭니다.
또한 주류 AI 알고리즘 및 AutoML 도구와 호환되고 확장에 편리한 Genesis라는 AutoML 프레임워크를 구현했습니다. 플랫폼의 다양한 기능 모듈을 서로 직교화하여 자유롭게 상호 작용할 수 있습니다. 보다 유연한 자동 최적화 파이프라인을 달성하기 위해 서로 결합합니다.
우리 시스템도 메타러닝 방식을 사용하고 있으며, 다음은 메타러닝 방식의 필요성과 핵심 적용에 대해 소개합니다. 시나리오.
(1) 메타 학습의 필요성
많은 양의 실험 데이터를 축적한 결과, 데이터 세트가 메타 특성 공간에서 명백한 집계를 나타내는 것을 발견했기 때문에 다음과 같이 가정합니다. 이는 메타 특성 공간에 분산됩니다. 가까운 데이터 세트에 대한 최적의 솔루션도 가깝습니다. 이러한 가정을 바탕으로 우리는 과거 작업의 하이퍼파라미터를 사용하여 새로운 작업의 매개변수 최적화를 안내했으며, 하이퍼파라미터 검색이 더 빠르게 수렴되고 제한된 예산 하에서 알고리즘 효과가 추가로 1% 향상될 수 있음을 발견했습니다.
(2) 애플리케이션 시나리오
빅 데이터 애플리케이션 시나리오에서는 기존 데이터 세트를 수정해야 하는 경우가 있습니다. 예를 들어, 데이터 세트 A와 데이터 세트 B를 병합하여 새로운 데이터 세트 C를 생성합니다. 데이터 세트 A와 데이터 세트 B의 하이퍼파라미터가 데이터 세트 C의 콜드 스타트로 사용되어 데이터 세트의 하이퍼파라미터 최적화를 안내하는 경우 C는 한편으로는 검색 공간을 잠글 수 있고, 다른 한편으로는 최적의 매개변수 최적화 결과를 얻을 수 있습니다.
실제 개발 프로세스에서는 데이터 세트를 샘플링한 다음 샘플링된 데이터 세트에 대해 초매개변수 최적화를 수행해야 하는 경우가 있습니다. 샘플링은 최종 데이터의 메타 특성 공간 분포가 원본 데이터에 가깝기 때문에 원본 데이터 세트의 하이퍼 매개변수를 사용하여 샘플링된 데이터의 하이퍼 매개변수 최적화를 안내하면 최적화 효율성을 향상시킬 수 있습니다.
마지막은 딥 러닝 시나리오를 위한 자동 최적화입니다. 하이퍼파라미터 최적화와 NAS 탐색의 두 가지 측면으로 나뉩니다.
딥 러닝의 개발 병목 현상은 훈련 시간이며 한 번의 반복은 몇 시간이 걸립니다. 몇 시간씩 걸리면 전통적인 베이지안 최적화를 사용하려면 20~30번의 반복이 필요하며 훈련 시간은 한 달에서 몇 달까지 걸립니다. 따라서 하이퍼파라미터 검색 프로세스를 가속화하기 위해 딥러닝 하이퍼파라미터 최적화 부분에서 베이지안 최적화를 위한 시드를 제공하는 Hyperband 방법을 사용하겠습니다. 이를 바탕으로 과거 데이터 정보를 활용하여 콜드 스타트를 최적화하고 통합을 위한 과거 대체 모델을 사용하여 무작위 초기화보다 빠른 수렴 속도로 전역 최적 솔루션을 달성할 것입니다.
실제 개발 시나리오마다 모델 규모 및 시간 성능에 대한 요구 사항이 다릅니다. 둘째, 모델 최적화의 중요한 부분은 신경망 구조입니다. 이 단계의 인위적인 간섭을 배제합니다. 그래서 우리는 가중치 얽힘을 기반으로 한 이 원샷 NAS 방법을 제안했습니다. 검색 효율성은 기존 DARTS 방법보다 3배 이상 도달할 수 있으며, 검색된 하위 네트워크 모델의 매개변수 양과 계산 비용을 제어할 수 있습니다. 대상 내에서 선택됩니다. 또한 다양한 CV 작업 요구 사항을 충족하기 위해 MobileNet, ResNet 등 다양한 공간도 지원합니다.
마지막으로 머신러닝 플랫폼 구축 과정에서 겪었던 규모와 효율성 문제에 대해 논의해 보겠습니다.
우리가 규모와 효율성 문제에 집중하는 이유는 딥 러닝이 모델 크기와 컴퓨팅 요구 사항 사이의 충돌에 직면하기 때문입니다.
모델 매개변수가 많을수록 모델 성능이 향상된다는 것이 업계의 공통된 의견입니다. 딥러닝에는 다음과 같은 무어의 법칙이 있습니다.
그래서 컴퓨팅 요구 사항과 하드웨어 성능 간의 격차는 최적화를 통해 해결되어야 합니다.
가장 일반적으로 사용되는 최적화 방법은 데이터 병렬성, 모델 병렬성 등을 포함한 병렬성입니다. 가장 일반적으로 사용되는 것은 데이터 병렬 기술입니다.
ATLAS 플랫폼의 데이터 병렬 기술은 다음과 같은 특징을 가지고 있습니다.
ATLAS 모델 병렬화는 주로 두 가지 측면으로 나뉩니다.
일부 네트워크 모델에는 매우 큰 완전 연결 레이어 매개변수가 있습니다. 예를 들어 arcFace의 분류 규모는 수십, 수백만 또는 수천만에 달합니다. 이러한 포괄적인 연결 레이어는 GPU 카드로 덮을 수 없습니다. 이때, 레이어 내 병렬 기술이 도입되어야 하며, 서로 다른 노드는 동일한 텐서의 서로 다른 부분을 계산합니다. 계층 간 병렬 기술도 사용됩니다. 즉, 네트워크의 서로 다른 계층의 데이터가 서로 다른 노드에서 계산됩니다. , 계산 중 IDLE(GPU 대기 시간)을 줄이기 위해 종속 계산 프런트엔드가 없습니다. 텐서로 설명할 수 있는 선형 데이터 외에도 그래프 데이터 병렬 훈련에 대한 탐색을 수행했습니다. 그래프 데이터의 경우 샘플링이든 기타 작업이든 동적으로 노드를 교차해야 하며, 그래프 데이터는 일반적으로 규모가 수백억에 달합니다. 이처럼 그래프 데이터의 계산은 단일 머신에서 완료하기 어렵습니다. 그래프 데이터의 분산 컴퓨팅의 병목 현상은 매핑 테이블입니다. 기존 매핑 테이블의 공간 복잡도는 O(n)입니다. 예를 들어 10억 개의 포인트와 10억 개의 모서리가 있는 그래프 데이터는 160GB를 차지합니다. 메모리, 분산된 훈련 규모 한도를 형성합니다. 노드와 에지의 ID를 재배열하여 매핑 경계만 유지함으로써 그래프 병렬 훈련의 규모를 임의로 확장할 수 있는 O(1)의 공간 복잡도를 갖는 방법을 제안합니다. 동시에 교육 효율성 측면에서도 몇 가지 최적화를 수행했습니다. 데이터를 읽는 데 GPU 시간이 많이 소모되고, GPU가 비어 있는 등 이벤트 전 교육, 이벤트 내 모니터링 및 경고를 통해 이벤트 후 분석을 통해 GPU를 최적화할 수 있습니다. 평균 사용량이 두 배로 늘어납니다. 역전파 재계산 기술도 사용합니다. 매개변수가 매우 많은 일부 모델의 경우 순방향 전파 과정에서 모든 레이어의 계산 결과를 저장하지 않고 일부 노드의 체크포인트만 유지합니다. 역방향 전파 중에 빈 매개변수 노드는 체크포인트에서 다시 계산됩니다. 이를 통해 메모리 자원을 50% 이상 줄일 수 있고, 훈련 효율성을 35% 이상 향상시킬 수 있습니다. 4. 그래프 병렬성
5. 교육 효율성
4. 요약 및 생각
마지막으로 머신러닝 플랫폼 구축에 대한 경험과 생각에 대해 이야기해보겠습니다.
We몇 가지 경험을 다음과 같이 요약했습니다.
우리 AI 알고리즘 구현에는 기술과 콘텐츠의 모든 측면이 포함되기 때문에 어떤 링크에 있는 학생들도 전반적인 상황을 이해해야 하므로, 모든 사람이 이러한 문제를 해결할 수 있도록 이러한 기본 기능을 제공할 수 있는 플랫폼이 있어야 합니다.
마지막으로 이 설계 과정에서는 내부 응용 시나리오를 고려하는 것이 더 중요하기 때문에 우리의 기능과 역량은 실제 비즈니스를 기반으로 설계되며 비즈니스 요구 사항을 충족하는 데 우선순위를 둡니다.
Q2: 머신러닝 플랫폼의 개발 주기는 얼마나 되나요?
A2: 우리의 머신러닝 플랫폼이 구축된 지 3~4년이 지났습니다. 처음에는 먼저 애플리케이션 배포 문제를 해결한 다음 컴퓨팅 및 교육과 같은 생산 기능을 구축하기 시작했습니다. 처음부터 구축하는 경우 일부 오픈 소스 프레임워크를 참조하여 먼저 구축한 다음 사용 중에 자신의 비즈니스 시나리오에서 어떤 문제가 발생하는지 확인하여 향후 개발 방향을 명확히 하는 것이 좋습니다.Q3: 교차 검증 중에 과적합을 제거하는 방법은 무엇입니까?
A3: 이는 보다 구체적인 알고리즘 최적화 문제일 수 있지만 최적화 파이프라인에서는 이러한 방식으로 샘플링 방법을 통해 교육하여 작업을 더 많은 각도 또는 측면에서 데이터 세트를 확인한 다음 통합할 수 있습니다. 우리의 모델이 더 강력한 일반화 기능을 갖도록 샘플링 후 훈련된 상위 모델은 우리 시나리오에서 매우 중요한 방법입니다.A4: 방금 말씀드린 것처럼 이 개발 주기는 약 3~4년 정도입니다. 그러다가 인력투자로 따지면 현재 학생이 6~7명인데 초창기에는 이보다 훨씬 적었다.
A5: 우선 이 학생이 언급한 가상화된 GPU는 리소스의 분할 및 격리를 참조해야 합니다. 기계 학습 플랫폼을 구축하는 경우 GPU 가상화는 필수 기능이어야 합니다. 즉, 더 나은 리소스 예약 및 할당을 달성하려면 리소스를 가상화해야 합니다. 그런 다음 이를 기반으로 GPU의 비디오 메모리와 컴퓨팅 리소스를 나눈 다음 다양한 크기의 리소스 블록을 다양한 작업에 할당할 수 있지만 일반적으로 교육 작업이 더 높기 때문에 이 시점에서는 실제로 교육하지 않습니다. 컴퓨팅 능력에 대한 요구 사항이 있으며 추론 시나리오에서는 이를 사용하지 않습니다. 실제 적용 과정에서 우리는 가상화 기술을 위한 좋은 오픈 소스 무료 솔루션이 없다는 것을 발견했습니다. 일부 클라우드 서비스 공급업체는 일부 유료 솔루션을 제공하므로 우리는 배포를 위해 일부 작업을 높은 수준과 혼합하는 시간 공유 다중화 솔루션을 사용합니다. 시간 공유 다중화를 달성하기 위해 컴퓨팅 요구 사항과 컴퓨팅 요구 사항이 낮은 일부 작업은 어느 정도 용량을 늘리는 효과를 얻을 수 있습니다.
A6: 우리가 직접 측정하면 선형 가속도 비율에 가까워질 수 있습니다. 더 좋을 때는 아마도 80~90 수준에 도달할 수 있습니다. 물론 노드 수가 매우 많으면 추가 최적화가 필요할 수 있습니다. 이제 논문을 게시하거나 32개 또는 64개의 노드가 80 또는 90의 가속 비율을 달성할 수 있다는 논문을 볼 수 있습니다. 더욱 전문화된 최적화. 그러나 기계 학습 플랫폼에서는 더 넓은 범위의 시나리오를 대상으로 해야 할 수 있습니다. 실제 시나리오에서는 대부분의 훈련에 4개의 GPU 카드 또는 8개의 GPU 카드가 필요할 수 있으며 최대 16개의 GPU 카드가 요구 사항을 충족할 수 있습니다.
A7: AutoML의 이상적인 상황에서는 사용자가 매개변수를 구성할 필요가 없습니다. 물론, 우리는 사용자가 필요에 따라 일부 매개변수를 조정하거나 결정할 수 있도록 허용할 것입니다. 시간 소모 측면에서 모든 AutoML 시나리오의 목표는 하루 이내에 최적화를 완료하는 것입니다. 그리고 컴퓨팅 성능 측면에서 트리 모델 XGB, LGBM 등과 같은 일반적인 빅 데이터 모델링의 경우 단일 머신이라도 처리할 수 있으며 GPU 작업의 경우 GPU 작업의 규모에 따라 다릅니다. 기본적으로 AutoML 학습은 원래 학습 규모의 2~3배에 달하는 컴퓨팅 성능으로 완료될 수 있습니다.
A8: 방금 언급된 질문입니다. Optuna, Auto-Sklearn 및 AutoWeka를 참조하세요. 그리고 방금 automl.org 웹사이트에 대해 언급했는데 거기에 가서 그것에 대해 배울 수 있습니다.
A9: EasyDL은 Baidu의 소유이며 우리의 프레임워크는 완전히 자체 개발되었습니다.
오늘의 나눔은 여기까지입니다. 모두 감사합니다.
위 내용은 Duxiaoman 자동 기계 학습 플랫폼 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!