먼저 바이두의 종합 정보흐름 추천 사업 배경, 데이터 배경, 기본 알고리즘 전략을 소개하겠습니다.
바이두의 종합 정보 흐름에는 바이두 앱 검색창의 목록 페이지와 몰입형 페이지 형태가 포함되며 다양한 제품 유형을 포괄합니다. 위 사진에서 볼 수 있듯이 추천 콘텐츠 형식에는 Douyin과 유사한 몰입형 추천뿐만 아니라 Xiaohongshu Notes의 레이아웃과 유사한 단일 열 및 이중 열 추천도 포함됩니다. 사용자가 랜딩 페이지에서 콘텐츠에 댓글을 달고 좋아요를 표시하고 수집할 수 있는 방법도 다양합니다. 또한 작성자 페이지에 들어가 관련 정보를 보고 부정적인 피드백을 제공할 수도 있습니다. 전체 포괄적인 정보 흐름의 디자인은 매우 풍부하고 다양하여 사용자의 다양한 요구와 상호 작용 방법을 충족할 수 있습니다.
모델링 관점에서 보면 세 가지 주요 과제가 있습니다.
업계 전체의 프로모션 검색 시나리오에서 기능 디자인은 일반적으로 메모리와 일반화 효과를 모두 보장하기 위해 이산화된 접근 방식을 사용합니다. 특징은 이산화를 위해 해싱을 통해 원-핫 코드로 변환됩니다. 헤드 사용자의 경우 정확한 기억을 얻으려면 정밀한 특성화가 필요합니다. 더 큰 비율을 차지하는 희박한 롱테일 사용자의 경우 우수한 일반화 처리가 필요합니다. 또한 세션은 사용자의 클릭과 소비 결정 순서에 있어서 매우 중요한 역할을 합니다.
모델 디자인은 정확성과 일반화 능력을 보장하기 위해 머리와 긴 꼬리의 데이터 분포 균형을 맞춰야 합니다. 기능 설계에서는 이미 이 사항을 고려하고 있으므로 모델 설계에서도 일반화와 정확성을 모두 고려해야 합니다. Baidu 추천 퍼널은 성능 요구 사항이 매우 엄격하므로 성능과 효과 사이의 균형을 찾으려면 아키텍처와 전략의 공동 설계가 필요합니다. 또한 높은 처리량과 모델의 정확성 사이의 균형을 맞출 필요가 있습니다.
건축의 디자인은 성능과 효과라는 두 가지 차원에서 종합적으로 고려되어야 합니다. 하나의 모델은 수천만 개의 리소스 라이브러리를 처리할 수 없으므로 계층적으로 설계되어야 합니다. 핵심 아이디어는 분할 및 정복 방법입니다. 각 계층 간에는 상관관계가 있으므로 다단계 퍼널 간의 효율성을 높이기 위해서는 다단계 공동 훈련이 필요합니다. 또한 리소스가 거의 변경되지 않은 상태에서 복잡한 모델을 시작할 수 있도록 탄력적인 컴퓨팅 방법을 채택해야 합니다.
위 사진 오른쪽의 하노이 타워 프로젝트는 대략적인 레이아웃 수준에서 사용자와 리소스의 분리 모델링을 매우 교묘하게 구현합니다. 다층 및 다단계 합동 훈련을 구현하는 CTR3.0 합동 훈련도 있습니다. 예를 들어 미세 순위는 전체 시스템에서 가장 복잡하고 정교한 모델로 정렬의 정확성이 상당히 높습니다. Wise의 모델링, 정밀한 순위 지정 및 재배열은 밀접하게 관련되어 있습니다. 이 두 모델을 기반으로 제안한 공동 훈련 방법은 온라인에서 매우 좋은 결과를 얻었습니다.
다음으로 기능, 알고리즘, 아키텍처의 세 가지 관점에서 자세히 소개하겠습니다.
기능은 사용자와 시스템 간의 상호작용 의사결정 프로세스를 설명합니다.
다음 그림은 사용자-자원-시나리오-상태 시공간 관계 상호 작용 매트릭스 다이어그램을 보여줍니다.
먼저 모든 신호를 사용자, 리소스, 시나리오 및 상태의 네 가지 차원으로 나눕니다. 기본적으로 우리는 사용자와 리소스 간의 관계를 모델링하기를 원하기 때문입니다. 각 차원에서 다양한 인물 데이터를 생성할 수 있습니다.
사용자 관점에서 가장 기본적인 연령, 성별, 관심 지점의 초상화입니다. 이를 바탕으로 유사한 사용자 및 다양한 리소스 유형에 대한 사용자의 과거 선호 행동과 같은 몇 가지 세분화된 기능도 있습니다. 세션 특성은 주로 장기 및 단기 행동 시퀀스입니다. 업계에는 많은 시퀀스 모델이 있으므로 여기서는 자세히 설명하지 않겠습니다. 그러나 어떤 유형의 시퀀스 모델을 만들든 기능 수준의 개별 세션 기능은 필수입니다. Baidu의 검색 광고에서는 이러한 종류의 세분화된 시퀀스 기능이 10여년 전에 도입되었습니다. 이는 다양한 시간 창에서 다양한 리소스 유형에 대한 사용자의 클릭 행동, 소비 행동 등을 주의 깊게 묘사합니다.
리소스 차원에서는 메모리가 지배하는 리소스 자체의 상태를 기록하는 ID형 기능도 있을 예정입니다. 기본적인 일반화 기능을 달성하기 위한 일반 텍스트 초상화 기능도 있습니다. 대략적인 기능 외에도 다중 양식과 같은 사전 훈련된 모델을 기반으로 생성되는 임베딩 인물 기능과 같은 보다 자세한 리소스 기능과 이산 임베딩에서 리소스 간의 관계에 대한 보다 자세한 모델링도 있을 것입니다. 공간. 다양한 상황에서 자원의 사후 성능을 설명하는 통계적 초상화 기능도 있습니다. 유사 기능뿐만 아니라 사용자는 리소스를 역으로 특성화하여 정확성을 높일 수 있습니다.
장면 크기 측면에서 단일 열, 몰입형, 이중 열 등 다양한 장면 특성이 있습니다.
사용자는 주마다 피드 정보를 다르게 소비합니다. 예를 들어 새로 고침 상태가 무엇인지, 어떤 네트워크에서 발생하는지, 랜딩 페이지에 어떤 상호 작용 형태가 있는지 등이 사용자의 향후 의사 결정에 영향을 주므로 상태 차원에서도 특성을 설명합니다.
사용자, 리소스, 상태, 시나리오의 4가지 차원을 통해 사용자-시스템 상호 작용의 의사 결정 프로세스를 종합적으로 묘사합니다. 많은 경우 여러 차원의 조합도 수행됩니다.
다음으로 이산 특성 설계 원리를 소개하겠습니다.
고품질 기능에는 일반적으로 높은 차별성, 높은 적용 범위 및 강력한 견고성이라는 세 가지 특성이 있습니다.
위의 세 가지 기준 외에도 단일 기능 AUC 판단도 가능합니다. 예를 들어 특정 기능만 사용하여 모델을 학습하고 기능과 대상 간의 관계를 확인하세요. 특정 기능을 제거하고 해당 기능이 누락된 후 AUC의 변경 사항을 확인할 수도 있습니다.
위의 디자인 원칙을 바탕으로 크로스오버, 바이어스, 시퀀스 기능의 세 가지 중요한 기능에 중점을 둘 것입니다.
전체 추천 퍼널은 레이어로 설계되었으며 각 레이어는 필터링되고 잘립니다. 필터 잘림을 사용하여 계층화된 설계에서 최대 효율성을 달성하는 방법은 무엇입니까? 앞서 언급한 대로 모델의 공동 학습을 수행할 예정입니다. 또한, 기능디자인 차원에서도 관련 디자인을 할 수 있습니다. 여기에도 몇 가지 문제가 있습니다.
다음으로 핵심 알고리즘의 디자인을 소개하겠습니다.
먼저 추천 정렬 모델을 살펴보겠습니다. 추천 시스템에서는 좋은 순위가 가장 정확한 모델이라고 일반적으로 알려져 있습니다. 업계에서는 Fine Layout에 대략적인 레이아웃이 붙어서 Fine Layout을 통해 학습할 수 있다는 견해가 있지만, 실제로는 Fine Layout에서 대략적인 레이아웃을 직접 학습할 수 없어 많은 문제가 발생할 수 있는 것으로 나타났습니다.
위 사진에서 볼 수 있듯이 대략적인 정렬과 미세한 정렬의 위치가 다릅니다. 일반적으로 대략적인 정렬을 위한 훈련 샘플은 미세 정렬과 마찬가지로 표시 샘플이기도 합니다. 대략적인 순위를 위해 수만 명의 후보자가 리콜될 때마다 99% 이상의 리소스가 표시되지 않으며, 모델은 훈련을 위해 최종적으로 표시되는 12개 정도의 리소스만 사용하므로 독립성을 깨뜨립니다. 동일한 분포라도 오프라인 모델의 분포는 크게 다릅니다. 이러한 상황은 재현율에서 가장 심각합니다. 왜냐하면 재현율 후보 집합이 수백만, 수천만, 심지어는 수억이고, 최종 반환된 결과의 대부분이 대략적인 정렬도 표시되지 않기 때문입니다. 수만. 미세 선별은 리콜과 러프 선별의 2단계 깔때기를 거친 후 자원의 기본 품질을 보장하는 작업을 주로 수행합니다. 따라서 파인 랭킹의 오프라인 분포 불일치 문제는 그다지 심각하지 않으며, 동시에 후보 집합이 작기 때문에 무거운 계산이 발생할 수 있습니다. 정밀 순위 지정은 기능 교차, 시퀀스 모델링 등에 중점을 둡니다.
그러나 미세 정렬을 직접 사용하면 계산량이 수십 배나 되기 때문에 미세 정렬에서 대략적인 수준을 직접 학습할 수 없으며 미세 정렬과 유사하게 직접 다시 계산할 수도 없습니다. 디자인 컨셉은 온라인 기계가 전혀 견딜 수 없기 때문에 거친 레이아웃에는 성능과 효과의 균형을 맞추는 고도의 기술이 필요하다는 것입니다. 대략적인 정렬 반복의 초점은 미세 정렬의 초점과 다릅니다. 주로 샘플 선택 편향 및 회수 대기열 최적화와 같은 문제를 해결합니다. 대략적인 정렬은 회상과 밀접한 관련이 있기 때문에 정확한 정렬 관계보다는 정밀 정렬로 반환된 수천 개의 리소스의 평균 품질에 더 많은 관심이 집중됩니다. 정밀 순위는 재배열과 더 밀접하게 관련되어 있으며 단일 지점의 AUC 정확도에 더 중점을 둡니다.
따라서 대략적인 순위 설계에서는 샘플 선택 및 생성, 일반화 기능 및 네트워크 설계에 더 중점을 둡니다. 세련된 디자인으로 복잡한 다차 교차 기능, 매우 긴 시퀀스 모델링 등을 수행할 수 있습니다.
이전 소개는 거시적 수준에서 살펴보겠습니다.
특히 모델 훈련 프로세스와 관련하여 현재 업계의 주류는 초대형 개별 DNN을 사용하는 것이며 일반화 문제는 더욱 심각해질 것입니다. 초대형 개별 DNN은 임베딩 레이어를 통해 주로 메모리 기능을 수행하기 때문입니다. 위 그림을 참조하세요. 전체 임베딩 공간은 일반적으로 수천억 또는 수조 개의 행과 1,000개의 열로 구성된 매우 큰 행렬입니다. 따라서 모델 훈련은 수십 또는 수백 개의 GPU가 분산 훈련을 수행하여 완전히 분산됩니다.
이론적으로 이렇게 큰 행렬의 경우 폭력적인 계산이 직접 수행되지는 않지만 행렬 분해와 유사한 연산이 사용됩니다. 물론, 이 행렬 분해는 표준 SVD 행렬 분해와는 다르다. 여기서의 행렬 분해는 먼저 저차원 표현을 학습하고, 슬롯 간 매개변수 공유를 통해 계산량과 저장량을 줄여준다. 두 개의 행렬. 학습 과정. 첫 번째는 특징과 저차원 임베딩 사이의 관계를 학습하는 특징 및 표현 매트릭스입니다. 이 임베딩은 매우 낮으며 일반적으로 약 10차원의 임베딩이 선택됩니다. 다른 하나는 임베딩과 뉴런 매트릭스로, 각 슬롯 간의 가중치를 공유합니다. 이런 식으로 저장량이 줄어들고 효과가 향상됩니다.
저차원 임베딩 학습은 오프라인 DNN의 일반화 능력을 최적화하는 열쇠입니다. 이는 희소 행렬 분해를 수행하는 것과 같습니다. 따라서 전체 모델의 일반화 능력을 향상시키는 열쇠는 매개 변수를 만드는 방법에 있습니다. 규모와 샘플 번호가 더 잘 일치합니다.
다양한 측면에서 최적화:
업계에서는 일반적으로 과적합을 방지하기 위해 2단계 훈련 방법을 채택합니다. 전체 모델은 두 개의 레이어로 구성됩니다. 하나는 큰 이산 행렬 레이어이고 다른 하나는 작은 조밀한 매개 변수 레이어입니다. 이산행렬 레이어는 과적합되기가 매우 쉬우므로 업계 실무에서는 일반적으로 One Pass Training, 즉 온라인 학습을 사용하는데, 여기서 모든 데이터가 통과되며, 학계처럼 일괄 학습은 이루어지지 않습니다.
또한 업계에서는 일반적으로 희소 레이어의 과적합 문제를 해결하기 위해 타이밍 검증 세트를 사용합니다. 전체 훈련 데이터 세트를 시간 차원에 따라 여러 델타(T0, T1, T2, T3)로 나눕니다. 각 훈련은 몇 시간 전에 훈련된 이산 매개변수 계층으로 고정된 후 다음 델타 데이터를 사용하여 조밀한 네트워크를 미세 조정합니다. 즉, 희소 레이어를 수정하고 다른 매개변수를 다시 학습함으로써 모델의 과적합 문제를 완화할 수 있습니다.
이 접근 방식은 훈련이 분할되어 T0 시간의 이산 매개변수를 매번 수정해야 하고 t+1 시간에 조인 단계가 재훈련되기 때문에 또 다른 문제를 가져올 수도 있습니다. 전체 훈련 속도는 확장성 문제를 가져옵니다. 따라서 최근에는 단일 단계 훈련(single-stage training)이 채택되었습니다. 즉, 이산 표현 계층과 조밀한 네트워크 계층이 델타에서 동시에 업데이트됩니다. 단일 단계 학습에는 특성을 포함하는 것 외에도 전체 모델에 연속 값 특성이 많기 때문에 문제가 있습니다. 이러한 연속 값 특성은 각 개별 특성의 표시 클릭을 계산합니다. 데이터 교차 위험. 따라서 실제 실습에서는 첫 번째 단계는 통계적 특징을 제거하는 것이고, 두 번째 단계는 단일 단계 학습 방법을 사용하여 이산적 표현과 함께 밀집된 네트워크를 학습하는 것입니다. 또한 전체 내장 길이는 자동으로 확장 가능합니다. 이러한 일련의 방법을 통해 모델 학습 속도를 약 30% 정도 가속화할 수 있습니다. 실습에 따르면 이 방법의 과적합 정도는 매우 미미하며 훈련과 테스트의 AUC 차이는 1/1000 이하입니다.
다음으로 건축 디자인에 대한 나의 생각과 경험을 소개하겠습니다.
시스템 설계의 핵심 원리는 분할 정복 방식입니다. 리콜에는 여러 채널이 필요합니다. 핵심 목표는 리콜 비율과 리콜 리소스의 풍부함을 높이는 것입니다. 동시에 회상은 추천 효과의 기본 보장인 탐색 및 활용 문제도 고려해야 합니다. 대략적인 정렬은 필터링의 첫 번째 계층으로, 주로 이전과 다음을 연결하는 경량 포인트 추정을 위한 것입니다. 정밀 순위 지정에는 일반적으로 막대한 계산과 예측이 포함되며 이는 일반적으로 매우 복잡한 구조를 사용하며 업계 연구의 초점이기도 합니다. 재배열은 마지막 레이어입니다. 재배열은 사용자에 따라 다르며 최종 표시 순서를 결정합니다. 정밀 순위 결과를 기반으로 컨텍스트를 고려하고 복잡한 순서 예측, 즉 목록별 정렬이 이루어집니다. 재정렬에는 분할, LCN, 종료 등 많은 비즈니스 제약 조건을 고려해야 합니다. 이는 규칙과 모델 모두에 의해 구동되는 모듈입니다.
추천 시스템의 각 계층의 목표는 기본적으로 동일하지만 각 계층의 초점은 다릅니다. 재현율 및 대략적인 순위 지정은 일반화 및 재현율에 중점을 두고, 미세 순위 지정은 단일 지점 AUC의 정확성에 중점을 두고, 재배열은 전체 서열 최적화에 중점을 둡니다. 데이터 관점에서 보면 회상의 대략적인 정렬에 가까울수록 일반화되고, 미세한 정렬 및 재배열에 가까울수록 정밀도가 요구됩니다. 회수 소스에 가까울수록 성능 제한이 더 심각해집니다. 왜냐하면 후보 리소스가 많을수록 계산 복잡성이 커지기 때문입니다. 대략 정렬은 미세 정렬과만 정렬하면 된다는 것은 오해입니다. 대략 정렬은 미세 정렬과의 일관성을 고려해야 하지만 미세 정렬만 정렬할 수는 없습니다. 거친 정렬을 아무것도 하지 않고 정렬과 미세 정렬만 하면 매우 심각한 말 효과가 발생합니다. 좋은 순위는 사실이 아니기 때문에 사용자 행동은 좋은 순위를 배우는 것이 아니라 사용자 행동을 잘 배워야 하는 것입니다.
초기에는 정밀 순위의 점수를 사용하여 재배열을 직접 훈련했습니다. , 결합되어 있습니다. 반면에 미세한 행 점수를 직접 훈련에 사용하는 것은 온라인 변동을 쉽게 일으킬 수 있습니다.
Baidu Fengchao CTR 3.0 정밀 순위 지정 및 재배열 공동 훈련 프로젝트는 모델을 사용하여 동시에 훈련하여 점수 결합 문제를 방지합니다. 본 프로젝트에서는 재배열 하위 네트워크의 특성으로 미세 순위 하위 네트워크의 숨겨진 레이어와 내부 채점을 사용합니다. 그런 다음 미세 순위 하위 네트워크와 재배열 하위 네트워크를 분리하여 해당 모듈에 배포합니다. 한편으로, 스코어링 결합으로 인한 변동 문제 없이 중간 결과를 잘 재사용할 수 있으며, 동시에 재배열의 정확도가 백분위수만큼 향상됩니다. 이는 그해 바이두에서 최고상을 받은 하위 프로젝트 중 하나이기도 하다.
또한, 이 프로젝트는 ESSM이 아니라는 점에 유의하시기 바랍니다. ESSM은 CTCVR 모델링 및 다중 목표 모델링이며 CTR3.0 공동 훈련은 주로 점수 결합 및 재배치 모델 정확도 문제를 해결합니다.
또한 새 대기열이 추가되므로 회수와 대략적인 정렬을 분리해야 하며 이는 새 대기열에 공평하지 않을 수 있습니다. 따라서 무작위 마스킹 방법, 즉 결합도가 너무 강하지 않도록 일부 특징을 무작위로 마스킹하는 방법이 제안됩니다.
마지막으로 온라인 배포 프로세스를 살펴보겠습니다. 모델 매개변수의 규모는 수천억에서 수조에 이르고, 대상도 많다.직접 온라인 배포는 비용이 많이 들고, 성능을 고려하지 않고는 효과만 고려할 수 없다. 더 좋은 방법은 Sparse MOE의 아이디어와 유사한 탄력적 계산입니다.
대략 대기열은 수십 또는 수백 개의 대기열에 액세스할 수 있습니다. 이러한 대기열의 온라인 가치(LTV)는 서로 다릅니다. 트래픽 가치 계층은 온라인 클릭 지속 시간에 대한 다양한 회수 대기열의 가치를 계산합니다. 핵심 아이디어는 호출 대기열의 전체 기여도가 높을수록 더 복잡한 계산을 즐길 수 있다는 것입니다. 이를 통해 제한된 컴퓨팅 성능으로 더 높은 가치의 트래픽을 처리할 수 있습니다. 따라서 우리는 전통적인 증류 방식을 사용하지 않고 탄력적 컴퓨팅을 위해 Sparse MOE와 유사한 아이디어, 즉 전략 설계 및 아키텍처 공동 설계를 채택하여 서로 다른 리콜 큐가 계산에 가장 적합한 리소스 네트워크를 사용할 수 있도록 했습니다. .
우리 모두 알고 있듯이 이제 LLM 대형모델 시대에 접어들었습니다. Baidu의 LLM 대형 언어 모델 기반 차세대 추천 시스템 탐색은 세 가지 측면에서 진행됩니다.
첫 번째 측면은 모델을 기본적인 예측에서 의사 결정이 가능한 수준으로 업그레이드하는 것입니다. 예를 들어, 클래식 콜드 스타트 리소스의 효율적인 탐색, 몰입형 시퀀스 추천 피드백, 검색에서 추천까지의 의사 결정 체인과 같은 중요한 문제는 모두 대형 모델의 도움으로 이루어질 수 있습니다.
두 번째 측면은 차별부터 세대까지입니다. 이제 전체 모델이 차별적입니다. 앞으로는 추천 이유 자동 생성, 프롬프트 기반 롱테일 데이터 자동 강화, 생성적 추천 방법을 살펴보겠습니다. 검색 모델.
세 번째 측면은 블랙박스에서 화이트박스로 전통적인 추천 시스템에서는 신경망이 연금술이라고 흔히들 말하는데, 화이트박스 방향으로 탐색이 가능한지도 하나입니다. 앞으로 중요한 임무 중 하나. 예를 들어, 원인과 결과를 기반으로 사용자 행동 상태 전환의 이유를 탐색하고, 추천 공정성에 대한 편견 없는 추정을 더 잘 수행하고, 다중 작업 기계 학습 시나리오에서 더 나은 장면 적응을 수행할 수 있습니다.
위 내용은 Baidu 선별 기술 탐색 및 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!