OpenAI출처 게시일

사용자 신뢰와 관련성을 위해 ChatGPT의 새로운 광고 스택을 구축한 방법

기존 광고 시스템은 이산적인 사용자 의도 단위에 대응하도록 설계되었습니다. 사용자가 온라인에서 무언가를 검색하거나 조회하면, 광고 시스템이 그러한 쿼리와 페이지 조회를 이벤트로 수신하고, 해당 이벤트에 기반하여 일치하는 광고를 찾습니다.

기존 광고 시스템은 이산적인 사용자 의도 단위에 대응하도록 설계되었습니다. 사용자가 온라인에서 무언가를 검색하거나 조회하면, 광고 시스템이 그러한 쿼리와 페이지 조회를 이벤트로 수신하고, 해당 이벤트에 기반하여 일치하는 광고를 찾습니다. ChatGPT를 위한 광고 스택 구축은 달랐습니다. 사용자 의도는 대화 전반에 걸쳐 형성되고 여러 대화 턴에 걸쳐 변화하며, 때로는 적절한 광고 시점이 존재하지 않기 때문입니다. 이 새로운 패러다임을 지원하기 위해 우리는 맞춤형 광고 전달 시스템을 구축했습니다. 이 새로운 유형의 광고 스택은 검색(상위 옵션 식별), 랭킹(사용자 참여 예측), 관련성(광고의 유용성 평가), 그리고 최종 광고 선정 및 가격 책정을 위한 경매 실행을 위해 툴 콜을 수행하는 커스텀 포스트 트레이닝된 프론티어 LLM을 기반으로 합니다.

당사의 광고 시스템은 세 가지 핵심 설계 결정을 통해 진화하는 사용자 목표의 미묘한 차이를 지원합니다: 1) 상태 기반(stateful) 광고 세션을 구현하여 대화의 턴 사이에서 그리고 여러 대화에 걸쳐 정보가 기억되도록 하고, 2) 툴 콜 아키텍처를 활용하는 커스텀 포스트 트레이닝 LLM을 통해 대화의 맥락과 근본적인 의도를 해석한 뒤 광고를 효과적으로 선택, 순위 지정 및 전달하고, 3) 광고 선정 프로세스를 ChatGPT의 답변 생성과 별도로 자체 서비스에서 실행하여 광고가 답변에 영향을 미치지 않도록 하고 ChatGPT의 중립적인 어조를 유지합니다. 당사는 포스트 트레이닝된 LLM을 사용해 전체 광고 흐름을 오케스트레이션하며, 사용자의 현재 턴과 대화 이력을 모두 바탕으로 적절한 시점에 적절한 광고를 노출할지 결정합니다. 이렇게 자가 개선형 광고 시스템을 부트스트래핑하는 데는 예전에는 수년이 걸렸지만, ChatGPT Ads는 연간 10억 달러의 연율 환산 매출 런레이트를 출시 후 200일도 채 되지 않은 기간에 달성했습니다. 현재 출시 이후 100,000개 이상의 광고주가 ChatGPT에서 광고를 집행했습니다.

에이전틱 채팅에서 광고는 어떻게 작동해야 할까?

기존의 광고 요청은 대개 잘 정의된 이벤트에서 시작됩니다. 사용자가 검색 쿼리를 제출하거나 웹페이지를 열면 광고 시스템이 요청을 수신합니다. 이러한 유형의 시스템은 상당히 단순합니다. 잠재적 광고 후보를 검색하고, 랭킹을 매기고, 경매를 통해 적절한 가격을 책정한 후, 결과 광고를 사용자에게 보여줍니다. ChatGPT는 자연스럽게 이러한 구체적인 순간을 만들어내지 않습니다.

ChatGPT 대화에서 사람들은 한 번의 답변을 위한 검색 쿼리가 아니라 목표를 가지고 찾아옵니다. 여행을 계획하거나, 사업용 소프트웨어를 선택하거나, 집을 꾸미거나, 새로운 취미를 배우고 있을 수 있습니다. 이 모든 것이 대화의 한 턴에서 일어나지는 않습니다. ChatGPT는 그 과정에서 무엇이 중요한지 사용자가 명확히 하도록 돕는 경우가 많습니다.

예를 들어, 저희 엔지니어링 팀은 ChatGPT에게 레이스 훈련 방법을 물었습니다. 대화는 달리기에 대한 일반적인 질문으로 시작됩니다. 여러 턴 후에 훈련에 도움이 되는 신발에 대해 묻습니다. 대화의 상업적 의미는 각 제약 조건이 제시될 때마다 변하며, 이러한 개인화된 맥락은 여러 세션에 걸쳐 진화합니다. 첫 번째 메시지에만 반응한 시스템은 완전히 잘못된 의도를 검색하여 사용자 경험을 저하시고 방해가 될 수 있습니다.

우리의 광고 시스템을 구축하기 위해서는 요청-응답 광고 아키텍처를 넘어, 사용자 신뢰와 가치를 우선시하면서 잠재적 경제적 기회를 찾기 위한 광고 스택을 처음부터 구축해야 했습니다.

ChatGPT 답변에 영향을 주지 않는 대화 기억

모든 메시지를 기존 광고 시스템처럼 독립적인 요청으로 처리했다면, 우리의 채팅 사용 사례에서 몇 가지 위험이 있었을 것입니다: 1) 사용자 목표를 지나치게 단순화하여 잘못 읽음, 2) 사용자의 실제 필요가 명확해지기도 전에 광고 흐름을 너무 일찍 시작함, 3) 사용자 여정을 지원하는 대신 방해하는 광고 노출, 4) 요청이 바뀔 때마다 광고 흐름을 비효율적으로 다시 실행하여 노이즈를 만들고 비용을 낭비함. 개별 이벤트 중심으로 구축하는 대신, 광고 시스템(검색, 랭킹, 전달로 구성)은 상태 기반 세션을 유지합니다. 즉, 광고 세션은 적격 턴의 지속 시간 동안 실행되며, 정보가 진화함에 따라 이를 기억하고 갱신합니다. ChatGPT는 초기 요청 맥락을 광고 서버로 전송합니다. 광고 시스템은 하나의 평탄화된 쿼리에 의존하는 대신, 전개되는 대화를 따라가며 적응합니다.

광고 선정 프로세스는 ChatGPT의 정상적인 응답 생성과 병렬로 실행되어 광고 흐름이 ChatGPT의 응답에 영향을 미치지 않도록 보장합니다. 광고는 자체적인 적격성, 품질 및 전달 제약 조건에 따라 대화를 소비하는 별도의 시스템을 통해 필터링되고 선정됩니다. 이 중요한 아키텍처 경계 — 별도의 모델과 별도의 코드를 사용하는 서로 다른 서비스 — 덕분에 핵심 ChatGPT 서버는 오가닉 응답 생성을 처리하고, 한편 광고 시스템은 적절한 광고 기회가 있는지 독립적으로 평가하고, 있다면 별도의 서빙 프로세스를 통해 스폰서 노출을 준비합니다.

광고는 ChatGPT 답변 경로와 병렬로 실행됩니다.

사용자 경험 보호를 넘어, 이러한 분리에는 몇 가지 실질적인 효과가 있습니다. ChatGPT는 광고 시스템에 의존하지 않습니다 — 서비스들이 어떤 식으로도 얽혀 있지 않으며 콘텐츠 생성 모델을 공유하지 않습니다. 따라서 광고 서빙 시스템을 사용할 수 없거나 느리더라도 ChatGPT의 오가닉 응답은 영향을 받지 않고 계속됩니다. 즉, 광고 시스템이 ChatGPT 제품을 다운시키거나 지연시킬 수 없습니다. 이러한 분리의 또 다른 이점은 가치 있는 광고에 대한 기준을 매우 높게 유지한다는 것입니다. 광고를 반환하지 않는 것은 정상적이고 성공적인 결과입니다. 시스템은 사용자와 광고주에게 명확히 이익이 되는 경우에만 광고를 전달합니다.

LLM은 대화를 해석하고 도구를 호출합니다

우리 광고 스택의 또 다른 핵심 아키텍처 구성 요소는 대화를 해석하고 에이전트 루프 방식으로 전체 광고 흐름을 실행하는 포스트 트레이닝된 LLM입니다. 즉, 검색 단계부터 랭킹, 경매, 그리고 최종적으로 전달에 이르기까지 광고 시스템의 핵심 기능들을 대상으로 도구 호출을 수행합니다. 우리는 이 LLM을 라고 부릅니다.

광고 흐름의 첫 번째 단계는 사용자 의도를 이해하여 검색 과정을 시작하는 것인데, 이는 잠재적 광고를 빠르게, 그리고 의도적으로 폭넓게 수집하여 나중에 필터링할 수 있도록 하는 과정입니다. 대화를 점진적으로 수신하면 광고 시스템이 현재의 의도와 오래된 맥락을 구분해야 하기 때문에 검색 문제가 더 풍부해지지만 동시에 더 모호해집니다. 오케스트레이터는 이전 메시지에 대한 참조를 해석하고, 사용자가 가상의 상황을 말하고 있는 때를 인식하며, 제품이나 서비스가 언급될 때마다 무언가를 구매하려는 요청으로 취급하지 않도록 해야 합니다.

광고 오케스트레이터는 사용 가능한 대화 및 사용자 맥락을 활용하고, 해당 대화와 맥락에 가장 적합한 광고(높은 사용자 가치와 높은 광고주 가치의 균형을 이루는 광고)를 찾는다는 근본적인 목표를 향해 반복적으로 좋은 광고를 찾고 언제 어떤 도구를 호출할지 반복해서 선택합니다. 사용자가 광고 개인화를 선택한 경우, 오케스트레이터는 사용자의 과거 대화에 대한 사용 가능한 비민감 정보도 고려하여 최적의 광고 매칭을 찾습니다.

광고 오케스트레이터는 가치 있는 광고를 찾기 위해 광고 전달 도구를 반복적으로 호출합니다.

대화가 진행되고 광고 오케스트레이터가 더 많은 업데이트된 정보를 얻게 되면, 오케스트레이터는 업데이트된 맥락으로 새로운 도구 호출 세트를 실행하여 더 나은 광고를 찾고 클라이언트에 반환할 수 있으며, 클라이언트는 이러한 새 광고가 제시간에 도착한 경우 이를 사용할 수 있습니다.

오케스트레이터는 사용자 가치와 광고주 가치의 균형을 맞추도록 설계되었으며, 항상 사용자를 최우선으로 둡니다.

오케스트레이터가 에이전트 루프에서 광고 도구를 호출하는 방식

광고 시스템은 개별 도구들로 구성되어 있으며, 오케스트레이터는 대화에 가장 적합한 광고를 찾기 위해 이 도구들을 반복적으로 호출합니다. 높은 수준에서 보면, 오케스트레이터는 대화를 간략한 텍스트 요약으로 변환하고, 이를 의미 임베딩(광고 시스템이 더 쉽게 살펴볼 수 있도록 저장된 의미)으로 변환한 뒤, 그 의미 임베딩을 사용하여 광고 후보를 검색하고, 적격성(예산, 사용자 설정 및 기타 사전 검사 기준)에 따라 후보를 필터링하고, 품질과 관련성을 평가하며, 채팅 응답 끝에 배치할 가치 높은 기회를 식별하기 위한 최종 랭킹을 수행합니다. 따라서 각 광고는 배치 대상이 되기 위해 적격성과 관련성에서 높은 기준을 충족해야 합니다.

의도를 포착하는 검색 쿼리 준비

오케스트레이터 LLM은 먼저 관련 상업적 의도를 나타내는 하나 이상의 쿼리를 준비합니다. 여기에는 1:1 검색 쿼리를 넘어 상업적 가능성을 넓히기 위해 대화 맥락을 재작성한 후 의미 표현을 생성하는 작업이 포함될 수 있으며, 이 과정에서 오케스트레이터는 다중 턴 대화를 요약된 버전으로 정제하여 검색 시스템에 전달함으로써 우리 데이터베이스에서 집중적인 방식으로 광고를 검색합니다.

사용자의 의도에 대한 깊은 이해가 있을 때만 광고가 게재된다면, 그 광고 배치는 사용자와 광고주 모두에게 더 나은 결과를 가져다줄 것입니다. 여러 개의 쿼리는 의도의 서로 다른 측면을 보존할 수 있습니다. 예를 들어, 여행 계획에 관한 대화는 교통, 숙박 또는 액티비티와 관련된 서로 다른需求를 담고 있을 수 있습니다. 검색 시스템은 전체 대화를 하나의 문자 그대로의 문자열로 압축하는 대신 이러한 구분을 보존할 수 있습니다.

예를 들어, 하이킹 신발에 관한 잠재적 대화 흐름을 살펴보겠습니다:

  1. 요세미티 2일 여행에서 무엇을 다뤄야 할까요?

  2. 다음 주에는 추울까요?

  3. 새 [브랜드 삽입] 제품 라인?

사용자가 신발 브랜드 질문을 요세미티 여행과 연결하지 않았지만, 이 대화는 우리 광고 시스템에서 [shoes appropriate for hiking trip] 및 [new [brand] product lines good for travel]과 같은 두 개의 쿼리로 표현될 수 있습니다. 이것은 첫 번째 시도일 수도 있습니다. 오케스트레이터는 사용자에게 매우 가치 있는 광고를 우리 인벤토리에서 찾을 때까지 이러한 표현들을 반복해서 다듬도록 설계되어 있습니다.

가능한 광고 검색

검색(retrieval)은 의도적으로 폭넓은 광고 옵션 풀을 만드는 과정입니다. 후보들은 서로 다른 검색 전략에서 나올 수 있으며, 나중에 동일한 서빙 제약 조건 하에서 경쟁할 수 있습니다. 우리는 서로 다른 시스템 및 제품 제약 조건에 맞게 최적화된 여러 개의 인덱스를 구축합니다(예를 들어, 제품 피드 광고용 인덱스는 최적의 광고를 가져올 때 긍정적 또는 부정적 제품 리뷰를 인식하도록 설계되었습니다. 이는 관련된 리뷰가 없을 수 있는 다른 광고와는 무관합니다). 각 인덱스는 사용자의 의도를 나타내는 임베딩을 사용하여 근사 최근접 이웃(ANN) 검색의 어떤 버전에 맞게 최적화되어 있습니다. 이 ANN 검색은 대규모 의미 인덱스에 대한 검색을 위한 근사 알고리즘으로, 광고를 매우 빠르게 가져올 수 있으며, "정확히 맞는" 해법을 찾는 대신 좋은 해법에 근접하면서도 관련 후보들의 대부분을 유지합니다.

광고 시스템은 광고 검색 과정에서 재작성된 쿼리를 사용하여 의미 임베딩을 생성하고 폭넓은 광고 후보 풀을 만들어냅니다.

부적격 후보 필터링

필터링의 목표는 관련성, 입찰가, 예산 측면에서 게재 기준에 미달하는 모든 광고 후보를 검토 대상에서 제거하는 것입니다. 후보와 구성에 따라 필터링 검사에는 크리에이티브 및 캠페인 가용성(캠페인 또는 광고 크리에이티브가 활성 상태인지 여부), 캠페인 타겟팅(예: 캠페인이 운영될 수 있는 로캘), 정책 제한(광고할 수 있는 항목에 대한 컴플라이언스 요건), 예산 가용성(캠페인에 아직 집행 가능한 예산이 남아 있는지 여부), 페이싱(캠페인이 하루 중 다른 시간이 아닌 지금 예산을 집행해야 하는지 여부), 게재위치 호환성(이 광고가 게재될 수 있는 대화의 종류), 광고주 및 캠페인 수준의 중복 제거(기업 간 공정한 참여를 보장하기 위해 광고주당 적절한 광고 수를 선택하는 것) 등이 포함될 수 있습니다.

관련성과 품질 평가

적격성 검사를 통과한 후보는 스코어링 단계로 넘어가며, 이 단계에서 오케스트레이터는 다양한 스코어링 시스템에 도구 호출을 수행합니다. 여기에는 의미적 관련성(광고가 사용자의 목표와 관련이 있는가?), 예상 참여도(광고가 조회, 클릭되고 광고주가 원하는 전환으로 이어질 가능성이 있는가?), 과거 성과(지금까지 사용자에게 노출되었을 때 광고가 좋은 성과를 냈는가?)와 같은 서빙 고려 사항이 포함됩니다. 오케스트레이터는 또한 경매 전에 광고가 관련성과 안전성을 갖추도록 필터링합니다. 이러한 시스템들은 경매에 사용될 더 작은 후보 풀로 범위를 좁히지만, 최종 게재될 광고를 결정하지는 않습니다.

광고 경매 실행

오케스트레이터는 대화의 맥락에서 준비된 후보들을 평가하고, 어떤 광고 후보가 최종 경매에 들어갈 만큼 충분히 타당한지 선택합니다. 오케스트레이터는 어떤 광고가 게재될지 직접 결정하지도, 가격을 책정하지도 않습니다. 대신 맥락에 적합한 후보들을 경매 도구가 평가하도록 지명합니다.

경매는 경매 입장(최소 관련성 및 가치 기준 통과), 페이싱(광고 예산을 더 고르게 집행), 입찰 및 경매 기능 계산, 품질 조정 순위 매기기, 가격 책정, 최종 선택을 포함한 최종 서빙 메커니즘을 적용합니다.

최종 적격성 검사

경매 후에 광고가 게재되지 못할 수 있는 경우는 두 가지이며, 둘 모두 ChatGPT 대화형 매체에 고유한 것입니다.

  1. 광고가 채팅에서 부적절하게 느껴질 수 있음: 무결성 모델(광고를 게재하는 것이 적절한 시점을 판단하는 모델)이 해당 대화가 광고 게재에 안전하다고 판단했고 광고 자체도 정책에 부합한다고 판단되었더라도, 때때로 특정 대화의 맥락에서 광고가 부적절하게 느껴질 수 있습니다. 오케스트레이터는 이러한 광고가 표시되지 않도록 차단합니다.

  2. 광고 요청이 제시간에 도착하지 못할 수 있음: ChatGPT 모델이 응답할 준비가 되었지만 광고가 아직 게재될 준비가 되지 않은 경우, 광고 요청은 시간 초과되어 광고가 게재되지 않습니다. 따라서 광고 시스템의 목표 중 하나는 최대한 빠르게 실행하는 것입니다. ChatGPT 모델의 응답 시간은 동적이며, 광고 로딩을 기다리기 위해 채팅 응답을 지연시키지 않습니다.

위의 모든 검사를 통과하면 광고를 렌더링을 위해 프런트엔드로 보냅니다. 우리는 이를 서버 측 광고 delivery(게재)로 간주하지만, 그렇다고 해서 반드시 사용자에게 광고가 표시되는 것은 아니며 이는 의도된 설계입니다.

마지막 단계: 사용자에게 광고 표시

ChatGPT와 같은 대화형 제품에서 광고 크리에이티브의 서버 측 게재가 광고 표시를 보장하지는 않습니다. 광고는 현재 턴에 포함되기 위해 제시간에 도착해야 합니다. 광고 크리에이티브에는 제목, 설명, 목적지 링크 및 모든 행동 유도 문구가 포함됩니다. 또한 광고가 대화와 어떻게 관련되는지 설명하는 짧고 중립적인 소개문인 모델 생성 프리앰블도 광고 시스템에서 함께 반환됩니다. 프리앰블을 크리에이티브와 분리함으로써 광고주의 메시지를 보존하면서 ChatGPT의 목소리는 중립적으로 유지됩니다.

ChatGPT 프런트엔드는 프리앰블과 광고 크리에이티브를 하나의 번들로 받습니다. ChatGPT의 응답이 완전히 생성되기 전에 도착하면, 프런트엔드는 ChatGPT의 응답 아래에 광고를 스폰서 광고로 명확히 표시하여 보여줍니다. 너무 늦게 도착하면 해당 턴에는 광고가 표시되지 않습니다. 이것이 서버 측 광고 게재와 사용자 대상 광고 노출의 차이입니다.

당첨자 선택과 게재는 별개의 이벤트입니다. 선택된 광고는 ChatGPT가 게재위치를 승인하고 표시하며 게재가 확인된 후에야 게재(delivery)가 됩니다.

광고 표시 후 일어나는 일

우리의 광고 스택은 전통적인 로깅 및 데이터 파이프라인을 사용하며, 여기에는 세 가지 주요 이점이 있습니다. 광고주가 기존 시스템을 우리 스택과 더 쉽게 통합할 수 있고, 광고주가 리포팅 데이터로 전략을 개선할 수 있으며, 우리 팀이 시스템에서 개선할 부분을 찾을 수 있습니다. 이러한 리포팅 및 최적화 도구 외에도, 우리는 고품질 모델을 배포하여 게재를 평가하고 다른 광고 모델을 학습시킴으로써 강력한 자기 개선 루프를 만듭니다.

무슨 일이 일어났는지에 대한 상세한 분석은 광고 시스템의 각 부분을 개별적으로 이해하고 개선하는 데 도움이 됩니다. 로그 처리 시스템은 또한 다음과 같은 세분화된 결과를 기록합니다:

  • 해당 턴이 광고 대상이 아니었음.

  • 광고 세션이 시작되었지만 retrieval이 요청되지 않았음.

  • retrieval이 후보를 반환하지 않았음.

  • 후보가 검색되었지만 hydration 또는 적격성 검사에 실패함.

  • 광고가 게재되었고 이후 상호작용이 발생함.

이러한 상세한 분석은 광고 서빙 시스템의 각 부분을 개별적으로 개선하는 데 도움이 됩니다. 기회 탐지를 개선하는 것은 retrieval, 후보 품질, 경매 참여 또는 게재 안정성을 개선하는 것과는 다른 증거를 필요로 합니다.

게재, 서빙 및 품질 시스템은 라이프사이클의 서로 다른 부분을 관찰합니다. 프라이버시 통제 처리는 측정 및 모델 개선에 무엇이 사용될 수 있는지를 결정합니다.

고성능 모델이 전체 스택을 평가하고 개선합니다

모델 기반 평가의 기본 아이디어는 가장 강력하고 높은 추론 능력을 갖춘 모델이 시스템의 결과를 관찰하고 판단한 뒤, 더 나은 성과를 내도록 학습시켜 포스트트레이닝된 LLM을 개선하는 것입니다. 예를 들어, 가장 강력한 모델이 피드백을 수집하고 이 작은 워커들이 최선의 성과를 내도록 학습시킨다면, 오케스트레이션이나 검색에는 더 작고 효율적인 모델 또는 낮은 추론 수준의 모델을 사용할 수 있습니다.

인간 피드백이 세련된 방향을 이끈다

우리는 인간 피드백(사용자의 클릭과 숨기기)을 수집하고 이에 따라 조치하며, 사용자 설문조사와 Ads Manager를 통한 광고주의 직접 피드백도 활용합니다. 또한 개발 과정에서 팀이 피드백을 제공할 수 있도록 하여 ChatGPT 사용자와 광고주 모두가 원하는 것을 직접 듣습니다. 이러한 피드백 원천은 모델의 관찰 피드백보다 더 크게 우리의 방향에 영향을 미쳤으며, 이는 올바른 제품 결정을 향해 빠르게 반복 개선할 수 있었던 요인 중 하나입니다. 모델은 사용자 의도를 이해하고 비판적으로 사고하여 가치 있는 것을 제공할 수 있지만, 취향은 사람이 만듭니다.

다음 단계

1년 전 우리는 광고 시스템이 없었고 이 문제 영역을 생각하는 사람도 몇 명뿐이었습니다. 지금은 연간 기준 10억 달러 이상의 런레이트를 뒷받침하는 견고한 광고 시스템을 갖추고, 광고 흐름을 LLM 기반 오케스트레이터가 운영하고 있습니다. Codex는 우리가 전례 없는 속도로 이러한 주요 사용량 이정표를 달성하도록 시스템을 부트스트랩할 수 있게 해준 근본적인 힘의 배율기였습니다. 처음부터 우리는 Codex를 사용해 시스템을 빠르게 구축하고 확장할 수 있도록 팀과 개발 워크플로를 설정했습니다. Codex가 안정적이고 안전하게 코드를 출시할 수 있도록 가드레일을 만들었고, 동시에 인사이트 수집과 시스템 개선 사항(신규 제품 기능, 품질 개선, 더 나은 시스템 성능 등)의 적용 주기를 대폭 단축하기 위한 데이터 인프라 플러그인을 Codex용으로 구축했습니다.

우리 시스템의 경계(우리의 광고 원칙⁠에 기반함)와 LLM 기반 오케스트레이터의 결합을 통해 모든 대화를 광고 요청으로 취급하지 않으면서도 유용한 광고를 제공할 수 있습니다. 앞으로 우리는 사용자 가치(예: 광고를 통해 기업과 직접 대화할 수 있는 기능 제공)와 광고주 가치를 높이기 위해 더욱 다이내믹한 광고 형식을 계속 실험할 것입니다. 지속적인 피드백 루프를 갖춘 OpenAI 모델 위에 구축된 이 스택의 자기 개선 아키텍처는 시간이 지남에 따라 관련성과 개인화를 계속 개선하는 우리의 능력을 가속화할 것입니다.

원문 출처

OpenAI

내용 안내

원문 발행 및 권리는 출처에 있습니다.

기계 번역 · 원문을 참고하세요