iQiyi 광고 순위 시나리오에서 희소 대형 모델의 실습

01

   뒤쪽에장면그리고 현 상태

1. 광고분야 데이터의 특성

광고 분야의 데이터 연속 가치 특성과 이산 가치 특성으로 나눌 수 있습니다. AI 이미지, 영상, 음성 등 기타 분야와 달리 광고 분야 대부분 사용자 ID, 광고 ID, 사용자와 상호작용하는 광고 ID 시퀀스 등 ID 형식으로 제시되며, 규모가 커서 광고 분야를 형성합니다. 고차원 희소 데이터의 독특한 특성.

지속적인 가치 특징
  • 사용자의 연령과 같은 정적 특성과 특정 업계에서 사용자가 광고를 클릭하는 횟수와 같은 사용자 행동에 따른 동적 특성이 모두 있습니다
  • 장점은 일반화 능력이 좋다는 것이다. 특정 산업에 대한 사용자의 선호도는 해당 산업과 동일한 통계적 특성을 가진 다른 사용자에게 일반화될 수 있습니다.
  • 단점은 기억력이 부족하여 변별력이 낮다는 것입니다. 예를 들어 동일한 통계적 특성을 가진 두 사용자의 행동이 크게 다를 수 있습니다. 또한 연속 가치 특성에는 수동 특성 엔지니어링도 많이 필요합니다.
이산값 특성
  • 이산 가치 특성은 세분화된 특성입니다. 열거 가능한 것(예: 사용자 성별, 산업 ID)이 있고 고차원적인 것(예: 사용자 ID, 광고 ID)도 있습니다.
  • 장점은 기억력이 강하고 식별력이 높다는 점이다. 이산 가치 기능을 결합하여 교차 및 협업 정보를 학습할 수도 있습니다.
  • 단점은 일반화 능력이 상대적으로 약하다는 점이다.
광고는 사용자에 대한 강력한 기억과 미디어 트래픽의 강력한 차별화가 필요한 시나리오입니다. 따라서 개별 가치 특성은 광고 모델의 개인화 예측 및 최적화를 위한 기초입니다. 광고 ID, 사용자 ID 및 이들의 조합과 같은 고차원 희소 데이터를 이산적 가치 특성으로 사용할 수 있습니다. 이를 통해 서로 다른 행동을 보이는 다양한 사용자를 특성 측면에서 잘 구분할 수 있습니다. 일반적으로 이산 값 기능을 사용하는 방법에는 두 가지가 있습니다.
  • 원-핫 인코딩
  • 특징 임베딩(Embedding)
고차원 이산 값 기능의 원-핫 인코딩은 쉽게 "차원의 저주"로 이어질 수 있으며, 이는 매개변수 폭발, 느린 모델 수렴 및 약한 일반화 능력과 같은 명백한 결함으로 나타납니다. 따라서 제한된 열거형 이산값 하에서 인코딩하는데 적합하다. 대규모 ID를 인코딩하기 위해서는 특징 임베딩을 통해 고차원 공간의 희소 ID를 저차원 밀집 공간에서 벡터로 표현한다.

2. iQiyi 광고 순위 모델 현황
2016년 Google이 제안한 Wide & Deep 모델은 딥러닝 모델을 추천 분야에 공식적으로 도입했습니다. Wide & Deep 모델은 메모리의 통합 모델링과 일반화 기능을 실현하여 빠르게 산업 검색, 광고 및 추천 분야의 기본 모델이 되었습니다. 필드. . iQiyi의 광고 순위 비즈니스도 2019년 온라인 학습 FM 모델에서 DNN 모델로 점차 진화했습니다.
우리의 DNN 모델은 교육 및 추론을 위한 오픈 소스 프레임워크 TensorFlow를 기반으로 합니다. TensorFlow 프레임워크에서는 Dense Tensor가 데이터를 계산, 저장 및 전송하는 기본 데이터 단위로 사용됩니다. 이산값 ID 특성을 저장하는 데 사용되는 Tensor 형태는 Embedding을 미리 결정해야 합니다. 즉, [vocabulary_size, embedding_dimension]으로 고정되어 있고,vocabulary_size는 ID 공간을 기준으로 수동으로 결정해야 합니다. 따라서 고차원 희소 ID 기능을 도입할 때 먼저 ID 기능 해시를vocabulary_size 범위에 매핑합니다.
현재 고차원 희소 ID 기능을 사용할 때 다음과 같은 문제가 있습니다.
  • 기능 충돌: vocabulary_size를 너무 크게 설정하면 훈련 효율성이 급격히 떨어지며 메모리 OOM으로 인해 훈련이 실패합니다. 따라서 10억 수준의 사용자 ID 이산 값 기능에 대해서도 100,000 수준의 ID 해시 공간만 설정합니다. 해시 충돌률이 높고 기능 정보가 손상되어 오프라인 평가에서 긍정적인 이점이 없습니다.
  • 비효율적인 IO: 사용자 ID 및 광고 ID와 같은 기능은 고차원적이고 희박합니다. 즉, 학습 중에 업데이트되는 매개변수는 전체의 작은 부분만을 차지하므로 TensorFlow의 원래 정적 임베딩 메커니즘에서는 모델 액세스를 처리해야 합니다. 전체 밀도가 높은 Tensor는 막대한 IO 오버헤드를 가져오고 희박한 대규모 모델의 교육을 지원할 수 없습니다.


02

   광고 희소 대형 모델 실습

위에서 언급했듯이 이산 값 특징은 모델이 개인화된 예측을 더욱 달성하기 위한 기초입니다. 또한 고차원 희소 ID 이산 값 특징을 사용할 때 문제가 발생했습니다. 따라서 우리는 2023년에 업계의 주류 오픈 소스 기술을 사용하여 희소 대형 모델의 훈련 및 추론 구축을 수행할 것입니다.
1. 알고리즘 프레임워크
지난 몇 년 동안 업계에서는 희소 대형 모델 추천에 대한 TensorFlow의 지원에 대해 많은 조사를 수행했으며 이를 실제 비즈니스 시나리오에 구현했습니다. 우리는 주로 다음과 같은 이유로 TFRA 동적 임베딩 오픈 소스 구성 요소를 선택합니다.
  • TFRA API는 Tensorflow 생태계와 호환됩니다(원래 최적화 프로그램 및 초기화 프로그램 재사용, API는 동일한 이름과 일관된 동작을 가짐). TensorFlow는 보다 기본적인 방식으로 ID 유형 희소 대형 모델의 훈련 및 추론을 지원할 수 있습니다. 학습 및 사용 비용이 낮으며 알고리즘 엔지니어 모델링 습관을 바꾸지 않습니다.
  • 동적 메모리 확장 및 축소는 훈련 중에 리소스를 절약하며 해시 충돌을 효과적으로 방지하고 기능 정보가 손실되지 않도록 보장합니다.
TensorFlow 2.6.0 및 TFRA 0.6.0 프레임워크를 기반으로 다음과 같은 반복을 수행했습니다.
  • 정적 임베딩이 동적 임베딩으로 업그레이드되었습니다. 이산 값 기능의 인공 해시 논리의 경우 TFRA 동적 임베딩을 사용하여 매개변수를 저장, 액세스 및 업데이트함으로써 모든 이산 값 기능의 임베딩이 알고리즘 프레임워크에서 충돌이 없도록 보장합니다. 모든 이산 값을 보장합니다. 무손실 기능 학습.
  • 고차원 희소 ID 기능 사용: 위에서 언급한 것처럼 TensorFlow의 정적 Embedding 기능을 사용할 때 사용자 ID 및 광고 ID 기능은 해시 충돌로 인해 오프라인 평가에서 이익이 없습니다. 알고리즘 프레임워크가 업그레이드된 후 사용자 ID와 광고 ID 기능이 다시 도입되며 오프라인과 온라인 모두에서 긍정적인 이점이 있습니다.
  • 고차원 희소 결합 ID 기능 사용: 사용자 ID와 산업 ID, 앱 패키지 이름을 각각 결합하는 등 사용자 ID와 광고 조잡한 ID의 결합된 이산 값 기능을 소개합니다. 동시에 기능 액세스 기능과 결합되어 더 희박한 사용자 ID와 광고 ID를 조합한 개별 기능이 도입됩니다.


2. 모델 업데이트

희소 대형 모델을 구현하는 과정에서 학습 추론 및 배포 업데이트에 많은 문제가 발생했습니다. 구현 과정에서 다양한 이슈에 대한 심층적인 분석과 최적화를 수행하였고, 마침내 희소 대형 모델의 효율적이고 안정적인 학습, 추론, 배포 업데이트를 달성했습니다.
TensorFlow Serving을 사용하여 희박한 대규모 모델을 핫 업데이트하는 경우 메모리 할당 및 해제 경쟁으로 인해 추론 지연이 발생합니다. TensorFlow 메모리 할당 및 해제 사용 시나리오에는 두 가지 주요 부분이 있습니다.
  • 모델이 복원될 때 변수 자체의 Tensor 할당, 즉 모델이 로드될 때 메모리가 할당되고, 모델이 언로드될 때 메모리가 해제됩니다.
  • 중간 출력 Tensor의 메모리는 RPC 요청 중 네트워크 순방향 계산 중에 할당되고 요청 처리가 완료된 후 해제됩니다.
따라서 Sparse Large 모델을 업데이트할 경우 새 모델을 로드할 때 Restore OP에서 많은 양의 메모리가 할당되고, 이전 모델이 언로드될 때 많은 양의 메모리가 해제됩니다. 이 과정에서 RPC 추론 요청은 중단되지 않습니다. 이때 두 가지의 메모리 할당 및 해제가 충돌하고 경쟁하여 추론 결함이 발생합니다. 위의 분석을 바탕으로 메모리 할당 격리를 설계하여 모델 매개변수의 메모리 할당과 RPC 요청의 메모리 할당을 격리하고 서로 다른 독립 메모리 공간에 할당 및 해제하여 희소 대형의 핫 업데이트 지연을 해결합니다. 모델 결함 문제.
마지막으로, 동일한 컴퓨터실 내의 희소 대형 모델 파일 조각화 및 P2P 전송을 모델 배포에 사용하여 스토리지 백엔드 및 네트워크 전용 회선에 대한 부담을 줄이고 희소 대형 모델의 잦은 업데이트로 인해 발생하는 스토리지 및 대역폭 문제를 해결합니다.

0

   전반적인 이점

현재 딥러닝 플랫폼은 10억 개 수준 매개변수 모델의 훈련, 추론, 배포 업데이트를 효율적이고 안정적으로 지원하고 있습니다. 우리는 성과 광고 CVR 및 DCVR 시나리오에서 세 가지 희소 대형 모델을 완전히 출시했습니다. 이는 추론 지연이 기본적으로 동일하면서 성과 광고 비즈니스 수익이 4.3% 증가하는 직접적인 원인이 되었습니다.


04

   미래 전망

현재 대규모 광고 희소 모델의 동일한 특성에 대한 모든 특성 값에는 동일한 Embedding 차원이 부여됩니다. 실제 비즈니스에서는 고차원 특징의 데이터 분포가 극도로 고르지 않고, 매우 적은 수의 고주파 특징이 매우 높은 비율을 차지하며, 모든 특징 값에 대해 고정된 임베딩 차원을 사용하는 롱테일 현상이 심각합니다. Embedding 표현 학습 능력이 저하됩니다. 즉, 저주파 특성의 경우 Embedding 차원이 너무 크고, 고주파 특성의 경우 모델이 과적합될 위험이 있습니다. 왜냐하면 Embedding을 표현하고 학습해야 하는 정보가 많기 때문입니다. 차원이 너무 작아서 모델이 과소적합될 위험이 있습니다. 따라서 앞으로는 모델 예측의 정확도를 더욱 향상시키기 위해 Embedding 차원 특성을 적응적으로 학습하는 방법을 모색할 것입니다.

동시에 우리는 모델의 증분 내보내기 솔루션을 탐색할 것입니다. 즉, 증분 학습 중에 변경되는 매개변수만 TensorFlow Serving에 로드하여 모델 업데이트 중 네트워크 전송 및 로딩 시간을 줄이고 분 단위 업데이트를 달성합니다. 희소 대형 모델의 개선 및 모델의 실시간 특성 개선.


또한5월반품생각하다바라보다

메모리 폭발의 비밀 공개: 대규모 모델 분산 훈련의 OOM 문제 해결

iQIYI 성과 광고 이중 입찰 최적화 프로세스

iQIYI 데이터 레이크 실습-광고 데이터 레이크 애플리케이션

이 기사는 WeChat 공개 계정인 iQIYI 기술 제품 팀(iQIYI-TP)에서 공유되었습니다.
침해가 있는 경우 [email protected]에 연락하여 삭제를 요청하세요. 이 글은 " OSC 소스 생성 계획
" 에 참여하고 있습니다 . 이 글을 읽고 계신 여러분의 많은 참여와 공유 부탁드립니다.

동료 치킨 "오픈 소스" deepin-IDE 및 마침내 부트스트랩을 달성했습니다! 좋은 친구, Tencent는 Switch를 "생각하는 학습 기계"로 전환했습니다. Tencent Cloud의 4월 8일 실패 검토 및 상황 설명 RustDesk 원격 데스크톱 시작 재구성 웹 클라이언트 WeChat의 SQLite 기반 오픈 소스 터미널 데이터베이스 WCDB의 주요 업그레이드 TIOBE 4월 목록: PHP 사상 최저치로 떨어졌고 FFmpeg의 아버지인 Fabrice Bellard는 오디오 압축 도구인 TSAC를 출시했으며 Google은 대규모 코드 모델인 CodeGemma를 출시했습니다 . 오픈소스라서 너무 좋아요 - 오픈소스 사진 및 포스터 편집기 도구
{{o.이름}}
{{이름}}

추천

출처my.oschina.net/u/4484233/blog/11045480