추천 시나리오에서는 데이터 분산의 문제에 직면하게 되며, 20%의 시나리오는 80%의 시나리오를 적용합니다. 문제가 발생하는 샘플: 단일 모델이 대규모 장면 추정에 더 친숙합니다. 다양한 시나리오를 고려하고 모델 개인화 기능을 향상시키는 방법은 개인화된 모델링의 문제점입니다.
업계 솔루션:
산업 모델에 존재하는 문제를 고려하여 우리는 다음과 같은 솔루션을 제안했습니다.
전체적인 아이디어는 메타 학습을 사용하여 클라우드의 각 사용자에 대한 개인화된 모델 매개변수 세트를 배포하여 궁극적으로 비용 및 성능 손실이 없는 효과를 달성하는 것입니다.
메타러닝은 새로운 작업을 안내하기 위해 일반 지식을 학습하여 네트워크에 빠른 학습 기능을 제공하는 알고리즘을 말합니다. 예를 들어 위 그림의 분류 작업: 고양이와 새, 꽃과 자전거, 우리는 이 분류 작업을 K-short N-class 분류 작업으로 정의하고 메타 학습을 통해 분류 지식을 배우기를 희망합니다. 미세 조정 추정 과정에서 개, 수달과 같은 분류 작업의 경우 미세 조정을 통해 매우 적은 수의 샘플로 궁극적인 추정 효과를 얻을 수 있기를 바랍니다. 또 다른 예로, 네 가지 혼합 연산을 배울 때 먼저 덧셈과 뺄셈을 배우고, 그 다음 곱셈과 나눗셈을 배우고, 이 두 가지 지식을 익히면 덧셈의 혼합 연산을 위해 두 가지 지식을 통합하는 방법을 배울 수 있습니다. , 뺄셈, 곱셈, 나눗셈은 따로 계산하지 않지만 덧셈, 뺄셈, 곱셈, 나눗셈을 기반으로 곱셈과 나눗셈의 연산 규칙을 먼저 배우고 덧셈과 뺄셈을 배운 다음 몇 가지 샘플을 사용하여 훈련합니다. 이 규칙을 빠르게 이해하기 위해 이 규칙을 사용하여 새로운 추정에서 데이터에 대해 더 나은 결과를 얻었습니다. 메타러닝의 개념도 이와 비슷하다.
전통적인 학습 방법의 목표는 모든 데이터에 대한 최적의 θ, 즉 전역적으로 최적인 θ를 학습하는 것입니다. 메타러닝은 task를 차원으로 활용하여 현장의 일반을 학습하며, loss는 모든 현장에서 최적의 수준에 도달할 수 있습니다. 전통적인 학습 방법으로 학습된 θ는 큰 장면에서 군중에 더 가깝고, 큰 장면에 대해 더 나은 예측을 가지며, 롱테일 예측에 평균 효과가 있습니다. 각각 이 시점에서 장면 데이터 또는 새로운 장면 데이터를 미세 조정하여 각 장면에 대한 최적의 지점에 도달합니다. 따라서 궁극적인 개인화 목표를 달성하기 위해 각 시나리오에서 개인화된 모델 매개변수를 구성하는 것이 가능합니다. 위의 예시에서는 군중을 메타러닝을 위한 과제로 사용했지만, 사용자나 아이템이 모델링을 위한 과제로 활용하는 것도 적합합니다.
메타 학습에는 세 가지 범주가 있습니다.
MAML(Model-Agnostic Meta-Learning)은 모델 구조와 관련이 없으며 일반화에 적합한 알고리즘으로 구분됩니다. 두 부분: 메타트레인과 미세 조정.
meta-train에는 초기화 θ가 있으며 장면 샘플링과 필드 내 샘플 샘플링이라는 두 가지 샘플링을 수행합니다. 첫 번째 단계는 장면 샘플링입니다. 이 샘플링 프로세스에서 전체 샘플에는 수십만 또는 수백만 개의 작업이 있으며 두 번째 단계에서는 각 장면에서 n개의 작업이 샘플링됩니다. 이 장면의 경우 배치 크기 샘플을 두 부분으로 나눕니다. 한 부분은 지원 세트이고 다른 부분은 쿼리 세트입니다. 확률적 경사하강법을 사용하여 각 장면의 세타를 업데이트하고 쿼리 세트 세트를 사용하여 손실을 계산합니다. 각 장면에 대해 모든 손실을 추가하고 종료 조건이 충족될 때까지 여러 라운드의 계산이 전체적으로 수행됩니다.
그 중 Support Set은 training set으로, Query Set은 검증 세트로 이해하면 됩니다.
Finetune 프로세스는 특정 장면에 θ를 배치하고 해당 장면의 지지 세트를 구한 후 경사하강법(SGD)을 사용하여 메타트레인 프로세스에 매우 가깝습니다. 장면의 최적 매개변수 ; 사용 작업 시나리오에서 점수를 매길 샘플(쿼리 세트)에 대한 추정 결과를 생성합니다.
산업 시나리오에 메타 학습 알고리즘을 적용하는 것은 상대적으로 큰 과제를 안겨줍니다. 메타 학습 알고리즘의 메타 학습 프로세스에는 장면 샘플링과 샘플이라는 두 가지 샘플링이 포함됩니다. 견본 추출. 샘플의 경우, 샘플을 잘 정리하여 장면 순서대로 저장하고 처리해야 하며, 동시에 샘플과 장면 간의 대응 관계를 저장하기 위한 사전 테이블이 필요합니다. 동시에 저장 공간과 컴퓨팅 성능을 확보해야 합니다. 이를 작업자에게 제공하여 소비하는 것은 산업 시나리오에 매우 큰 과제입니다.
다음과 같은 솔루션이 있습니다.
먼저 배치 내의 장면과 샘플 선택이 각 배치에 여러 개의 데이터 조각으로 구현됩니다. 데이터는 작업에 속합니다. 배치 내에서 이러한 데이터는 작업에 따라 추출되고 추출된 샘플은 메타트레인 훈련 프로세스에 투입됩니다. 이는 장면 선택 및 샘플 선택을 위한 처리 링크 세트를 독립적으로 유지해야 하는 문제를 해결합니다.
실험적 연구와 논문 읽기를 통해 미세 조정 및 메타 학습 과정에서 예측 계층에 가까울수록 모델의 예측 효과에 미치는 영향이 더 크다는 것을 발견했습니다. 동시에 emb 레이어는 모델의 예측 효과에 더 큰 영향을 미치며 중간 레이어는 예측 효과에 큰 영향을 미치지 않습니다. 따라서 우리의 생각은 메타 학습이 예측 계층에 더 가까운 매개변수만 선택한다는 것입니다. 비용 관점에서 emb 레이어는 학습 비용을 증가시키고 emb 레이어는 메타 학습을 위해 훈련되지 않습니다.
위 그림의 mmoe 훈련 네트워크와 같은 전반적인 훈련 과정에서는 타워 레이어의 매개변수를 학습하고, 다른 장면의 매개변수는 여전히 원래의 훈련 방법에 따라 학습됩니다. 샘플은 사용자를 차원으로 구성됩니다. 각 사용자는 자신의 훈련 데이터를 가지고 있으며, 한 부분은 지원 세트이고 다른 부분은 쿼리 세트입니다. 지원 세트에서는 타워 업데이트 및 매개변수 훈련을 위해 로컬 측의 콘텐츠만 학습된 다음 쿼리 세트 데이터를 사용하여 전체 네트워크의 손실을 계산한 다음 기울기를 반환하여 전체 네트워크의 매개변수를 업데이트합니다. .
따라서 전체 훈련 과정은 다음과 같습니다. 전체 네트워크의 원래 훈련 방법은 변경되지 않습니다. 메타 학습은 비용을 고려하여 핵심 네트워크만 학습하며, 임베딩은 메타 학습에 참여하지 않습니다. 메타 손실; fintune 시 emb 저장이 수행됩니다. 서빙 프로세스에서는 emb을 사용하여 코어 네트워크를 미세 조정하고 스위치를 사용하여 메타 학습을 켜고 끌 수 있습니다.
서빙 과정에서 직접 미세 조정을 수행하면 심각한 문제가 발생합니다. 한 세트의 샘플 저장 링크를 온라인에서 유지 관리해야 합니다. 여러 세트의 샘플을 유지 관리해야 합니다. 동시에 Finetune 과정에서는 원본 샘플을 사용하여 Embing 레이어, 하위 레이어, Meta-Learning 레이어를 거치게 됩니다. 그러나 Meta-Learning은 Serving에서 Meta-Learning 레이어만 학습하면 됩니다. 처리하고 다른 부분은 신경 쓰지 않습니다. 서빙 과정에서 모델에 대한 메타러닝 입력만 저장하는 것을 고려합니다. 그러면 샘플 링크의 유지 관리가 절약되고, emb 부분만 저장되면 이 부분의 계산 비용과 유지 비용이 절약될 수 있습니다. 구원받다.
우리는 다음 방법을 사용합니다:
모델의 조회 테이블에 저장 공간을 넣습니다. 조회 테이블은 조밀한 변수로 간주되어 ps에 저장됩니다. 업데이트할 때 모든 변수도 푸시됩니다. 네트워크 시간. 또 다른 방법은 무한 HashTable을 사용하는 것입니다. HashTable은 키와 값의 형태로 저장됩니다. 이 방법의 장점은 입력만 가져오면 된다는 것입니다. ps에서 필요한 장면의 레이어를 푸시하거나 풀면 전체적으로 네트워크 시간이 절약되므로 이 방법을 샘플링하여 메타 레이어의 입력을 저장합니다. 동시에, 메타 학습 레이어가 모델에 저장되면 모델이 더 커지고 만료 문제가 발생하여 현재 모델과의 불일치가 발생하므로 이 문제를 해결하기 위해, 즉 제거를 사용합니다. 만료된 임베딩. 이는 모델을 더 작게 만들 뿐만 아니라 실시간 문제도 해결합니다.
서빙 단계에서 이 모델은 임베딩을 사용하여 점수를 매길 때 원래 방법과 동일하지 않습니다. 메타러닝 레이어를 통해 임베딩이 입력되어 이 레이어의 매개변수가 업데이트되고, 업데이트된 매개변수는 채점에 사용됩니다. 이 프로세스는 GPU에서 계산할 수 없으므로 CPU에서 프로세스를 실행합니다. 동시에 Wuliang GPU 추론은 여러 요청을 병합하기 위해 자동 배치 병합을 수행합니다. 이러한 방식으로 배치가 증가함에 따라 기울기가 변경됩니다. 의 기준으로 num 차원을 추가하여 그라디언트를 계산할 때 grad를 추가하고 num에 따라 처리하여 그라디언트의 안정성을 유지합니다. 결국 비용과 성능을 제어할 수 있으며 동시에 다양한 시나리오와 모델이 달성됩니다.
프레임워크와 컴포넌트를 사용하여 메타학습을 일반화하면 사용자가 접근할 때 모델 코드만 수정하면 됩니다. 지원 세트 읽기 및 쓰기 인터페이스, 메타트레인 및 미세 조정 구현 인터페이스, GPU 서비스 적응 인터페이스와 같은 좋은 인터페이스를 이미 구현한 것만 호출하면 됩니다. 사용자는 손실, 작업 입력, 라벨 등과 같은 비즈니스 관련 매개변수만 전달하면 됩니다. 이 설계는 알고리즘 엔지니어의 연구, 개발, 실험 및 시행착오 비용을 절감하고 알고리즘의 반복 효율성을 향상시키는 동시에 일반화된 코드는 여러 비즈니스 시나리오를 지원하여 인력과 자원 비용을 절약할 수 있습니다.
2타워 리콜 시나리오에서 메타러닝 활용은 사용자 타워와 아이템 타워를 포함하는 차원으로 사용자를 모델링합니다. 모델의 장점은 플러그 가능하고 샘플 및 온라인 아키텍처를 변경할 필요가 없으며 안정적이고 위험이 없다는 것입니다. 단점은 지원 세트가 실시간 문제가 있는 이전 시간의 데이터라는 것입니다.
메타 학습의 또 다른 응용 시나리오는 시퀀스 회상 시나리오에 있습니다. 이 시나리오는 사용자를 시나리오로, 사용자의 행동 시퀀스를 지원 세트로 모델링합니다. , 우리는 A 네거티브 샘플 큐를 유지할 것이며 샘플링 큐의 샘플은 네거티브 샘플로 사용되며 포지티브 샘플은 지원 세트에 연결됩니다. 이것의 장점은 더욱 강력한 실시간 성능과 저렴한 비용입니다.
마지막으로 위 그림의 mmoe 미세 정렬 모델과 같은 정렬 시나리오에도 메타 학습이 적용됩니다. 구현 방법에는 두 가지가 있습니다. 즉, Finetune만 사용하는 것과 Meta-train과 Finetune을 모두 사용하는 것입니다. 두 번째 구현 방법이 더 효과적입니다.
메타러닝은 다양한 시나리오에서 좋은 결과를 얻었습니다.
각 장면마다 추천 입구가 여러 개 있으므로 각 장면마다 리콜부터 대략 순위, 정밀 순위까지 일련의 링크를 설정해야 하는데 비용이 많이 듭니다. 특히 작은 장면과 중간 및 롱테일 트래픽 데이터가 드물고 최적화 공간이 제한되어 있습니다. 하나의 제품에 포함된 유사한 추천 포털 샘플, 오프라인 교육 및 온라인 서비스를 세트로 통합하여 비용을 절감하고 결과를 향상시킬 수 있습니까?
그러나 그렇게 하는 데에는 몇 가지 어려움이 있습니다. 브라우저에서 Gu Ailing을 검색하면 관련 검색어가 나타납니다. 특정 내용을 클릭하고 돌아 오면 결과를 클릭 한 후 추천이 나타납니다. 두 가지의 트래픽 비율, 클릭률 및 기능 분포가 상당히 좋습니다. 동시에 추정 대상에도 차이가 있습니다.
크로스 도메인 모델에 다중 작업 모델을 사용하면 심각한 문제가 발생하고 더 나은 이점을 얻을 수 없습니다.
Tencent에서 크로스 시나리오 모델링을 구현하는 것은 큰 도전입니다. 첫째, 다른 회사에서는 두 시나리오의 특징이 일대일로 대응할 수 있지만 Tencent의 크로스 도메인 추천 분야에서는 두 시나리오의 특징이 하나의 시나리오에만 속할 수 없습니다. 분포가 매우 다르며 추정 대상을 맞추기가 어렵습니다.
Tencent의 도메인 간 추천 시나리오의 개인화 요구에 따라 위의 방법을 사용하여 처리합니다. 공통 기능의 경우 공유 임베딩이 수행됩니다. 장면의 개인화 기능에는 자체적인 임베딩 공간이 있습니다. 모델 부분에는 공유 전문가와 개인화 전문가가 있으며 모든 데이터는 각 장면의 샘플로 유입됩니다. 전문가를 개인화하고 개인화된 게이트를 통해 공유된 전문가와 개인화된 전문가를 통합하여 타워에 입력하고 스타 방법을 사용하여 다양한 시나리오에서 대상 희박 문제를 해결합니다. 전문가 부분의 경우 공유 하단, MMoE, PLE 또는 비즈니스 시나리오의 전체 모델 구조와 같은 모든 모델 구조를 사용할 수 있습니다. 이 방법의 장점은 다음과 같습니다. 모델은 매우 다양하며 다양한 모델의 융합 액세스에 적합합니다. 장면 전문가를 직접 마이그레이션할 수 있고 원래 장면 효과가 손상되지 않으며 시나리오 간 지식 전달 효과가 향상됩니다. 융합 후에는 모델이 줄어들고 훈련 속도가 향상됩니다. 비용을 절감하면서 개선하세요.
빨간색 부분은 개인화된 기능, 개인화된 모델 구조 등 개인화된 액세스가 필요한 콘텐츠입니다. 사용자는 개인화된 코드만 작성하면 됩니다. 다른 부분의 경우 전체 코드 세트를 ModelZoo에 연결하여 직접 상속하고 사용할 수 있으며 직접 실행할 수 있는 기계 학습 플랫폼 워크플로 구성 요소로 캡슐화했습니다. 입장.
이 방법은 표본 크기를 늘리고 모델 구조를 복잡하게 만들지 만 효율성은 향상됩니다. 그 이유는 다음과 같습니다. 일부 기능이 공유되기 때문에 공유 임베딩 기능으로 인해 융합된 기능 수가 두 장면의 기능 수의 합보다 적습니다. 두 장면의 합 감소 서버 측에서 당기거나 밀어내는 시간을 절약하여 통신 시간을 절약하고 전체 훈련 시간을 줄입니다.
여러 시나리오를 융합하면 전체 비용을 줄일 수 있습니다. 오프라인 샘플 처리는 CPU를 사용하여 데이터를 추적함으로써 비용을 21% 절감할 수 있으며, 모델의 반복 시간도 40% 단축됩니다. %, 온라인 교육 비용, 온라인 서비스 비용, 모델 크기가 모두 줄어들므로 전체 링크 비용이 절감됩니다. 동시에 여러 장면의 데이터를 함께 융합하는 것이 GPU 컴퓨팅에 더 적합합니다. 두 단일 장면의 CPU를 GPU에 융합하면 더 높은 비율을 절약할 수 있습니다.
교차 도메인 추천은 다양한 방법으로 사용될 수 있습니다. 첫 번째는 다중 장면 모델링 프레임워크를 직접 사용할 수 있는 다중 장면 단일 목표 모델 구조입니다. 두 번째는 다중 장면과 다중 장면의 융합입니다. -객관적이며 다중 장면 모델링 프레임워크를 직접 사용할 수 있습니다. 세 번째 유형은 동일한 미세 일정 계획 제품에 대해 서로 다른 대상 모델을 융합하는 것입니다. 다중 시나리오 모델링 프레임워크를 직접 사용하는 것은 권장되지 않습니다. 타워 측의 스타는 현재 동일한 제품에 대한 여러 리콜 및 대략적인 일정 모델의 융합이 진행 중입니다.
크로스 도메인 추천은 효과를 높일 뿐만 아니라 비용도 많이 절약해줍니다.
위 내용은 Tencent TRS의 메타러닝 및 크로스 도메인 추천의 산업 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!