Dropbox / machine-learning

4 개의 포스트

dropbox

Using LLMs to amplify human labeling and improve Dash search relevance (새 탭에서 열림)

Dropbox Dash는 검색 관련성(Relevance)을 높이기 위해 소수의 고품질 인간 라벨링 데이터를 LLM을 통해 대규모로 증폭시키는 하이브리드 학습 전략을 채택하고 있습니다. 이 방식은 LLM을 '교사 모델'로 활용하여 수백만 개의 학습 데이터를 생성하고, 이를 통해 실시간 서비스에 적합한 효율적인 랭킹 모델을 구축하는 데 목적이 있습니다. 결과적으로 인간의 판단력과 AI의 확장성을 결합하여 RAG(검색 증강 생성) 시스템의 답변 품질을 결정짓는 핵심 요소인 검색 정확도를 극대화했습니다. ## Dash 검색 순위 모델과 학습 방식 * Dash는 수작업으로 조정된 규칙이 아닌, XGBoost와 같은 머신러닝 기법을 활용하여 검색 결과의 순위를 결정합니다. * 모델은 검색어와 문서 쌍에 대해 1점(관련 없음)부터 5점(매우 관련 있음)까지의 점수를 부여하는 관련성 라벨을 학습하며, 점수가 높은 문서가 상단에 배치되도록 가중치를 조정합니다. * 기업 내 수억 개의 문서 중 LLM이 답변 생성에 사용할 최적의 소수 문서만 선별해야 하므로, 랭킹 모델을 학습시키는 데이터의 품질이 RAG 시스템 전체의 성능을 좌우합니다. ## 기존 라벨링 방식의 한계와 LLM 도입의 필요성 * **사용자 행동 데이터:** 클릭이나 이탈 정보는 유용하지만, 기존 순위에 영향을 받거나 데이터가 불균등하게 분포되는 편향성 문제가 있습니다. * **인간 라벨링:** 숙련된 검토자가 직접 점수를 매기는 방식은 가장 정확하지만, 비용이 많이 들고 확장이 어려우며 기업의 민감한 내부 데이터를 외부 인력이 검토하기 어렵다는 보안 이슈가 존재합니다. * **LLM 평가:** LLM은 인간보다 비용이 저렴하고 일관성이 있으며, 대규모 후보군을 다국어로 신속하게 처리할 수 있습니다. 또한 정의된 규정 준수 범위 내에서 고객 콘텐츠를 분석할 수 있는 장점이 있습니다. ## 인간과 LLM의 협업을 통한 데이터 증폭 과정 * **검증 및 보정:** 먼저 인간 검토자가 소규모의 고품질 데이터셋을 라벨링합니다. 이 데이터는 LLM의 프롬프트와 매개변수를 미세 조정하고 성능을 검증하는 '골드 표준'으로 사용됩니다. * **데이터 증폭:** 성능이 검증된 LLM은 인간의 노력을 수백 배로 증폭시켜 수십만에서 수백만 개의 관련성 라벨을 생성합니다. 인간이 LLM을 가르치고, LLM이 대규모 학습 데이터를 생산하는 구조입니다. * **오프라인 학습과 온라인 서빙:** 실시간 검색 시 LLM을 직접 사용하면 지연 시간(Latency)과 비용 문제가 발생합니다. 따라서 LLM은 오프라인에서 '교사'로서 대량의 데이터를 생성하고, 실제 서비스에서는 이 데이터를 학습한 가볍고 빠른 모델(XGBoost 등)이 검색 순위를 계산합니다. ## 실용적인 결론 성공적인 AI 검색 시스템을 구축하기 위해서는 단순히 최신 LLM을 사용하는 것에 그치지 않고, 검색 모델의 학습 데이터를 어떻게 확보할 것인지가 중요합니다. Dropbox Dash의 사례처럼 **"인간의 가이드라인 → LLM의 대규모 라벨링 → 경량 모델의 학습 및 서빙"**으로 이어지는 파이프라인을 구축하면 품질, 비용, 속도라는 세 가지 토끼를 동시에 잡을 수 있습니다.

dropbox

Inside the feature store powering real-time AI in Dropbox Dash (새 탭에서 열림)

Dropbox Dash는 흩어져 있는 업무 데이터를 통합하여 실시간으로 답변과 검색 결과를 제공하는 AI 도구이며, 이 시스템의 핵심은 머신러닝 모델에 필요한 데이터 신호인 '피처(Feature)'를 관리하고 전달하는 피처 스토어입니다. 수만 개의 문서 중 가장 관련성 높은 정보를 순위화하기 위해 드롭박스는 온프레미스와 클라우드가 결합된 하이브리드 인프라 위에서 초저지연 읽기와 실시간 데이터 업데이트가 가능한 독자적인 피처 스토어를 구축했습니다. 결과적으로 이 시스템은 수천 개의 피처를 병렬로 조회하면서도 100ms 미만의 응답 속도를 유지하여 사용자에게 최적화된 검색 경험을 제공합니다. ### 하이브리드 인프라를 위한 설계 목표와 요구사항 * **복합적인 인프라 환경 대응:** 저지연 통신을 위한 온프레미스 에코시스템과 대규모 데이터 처리를 위한 Spark 기반 클라우드 환경을 동시에 지원해야 했습니다. * **대규모 병렬 조회 처리:** 사용자 쿼리 하나당 수천 건의 피처 룩업(Lookup)이 발생하므로, 엄격한 지연 시간 예산 내에서 막대한 병렬 읽기를 처리할 수 있는 구조가 필요했습니다. * **실시간성 확보:** 사용자의 최근 행동(문서 열람, 채널 참여 등)이 몇 초 내에 다음 검색 결과에 반영될 수 있도록 빠른 데이터 수집 파이프라인이 요구되었습니다. * **통합 프레임워크 구축:** 실시간 스트리밍과 배치 처리를 통합하여 엔지니어가 아이디어 단계부터 실제 배포까지 빠르게 진행할 수 있는 환경을 목표로 했습니다. ### Feast와 Dynovault를 활용한 아키텍처 설계 * **Feast 프레임워크 채택:** 피처 정의와 인프라 구현을 분리하고 모듈화된 어댑터 생태계를 가진 Feast를 선택하여 인프라 복잡성을 추상화했습니다. * **Dynovault 활용:** 드롭박스 자체 개발 DynamoDB 호환 스토리지인 Dynovault를 온라인 저장소로 사용하여 공용 인터넷 호출 없이 약 20ms의 클라이언트 지연 시간을 달성했습니다. * **관측 가능성 강화:** 작업 실패 모니터링, 데이터 신선도 추적, 데이터 계보(Lineage) 가시성 등을 추가하여 안정적인 운영 기반을 마련했습니다. ### Go 언어 재작성을 통한 성능 최적화 * **Python SDK의 한계 극복:** 초기 Python 기반 구현에서는 JSON 파싱 속도와 GIL(Global Interpreter Lock)로 인해 동시성 처리에 병목이 발생했습니다. * **고성능 서빙 레이어 구축:** 서빙 레이어를 Go 언어로 재작성하고 가벼운 고루틴(Goroutine)과 공유 메모리를 활용하여 동시성 성능을 극대화했습니다. * **지연 시간 단축:** 최적화 결과 p95 기준 지연 시간을 25~35ms 수준으로 유지하며, 초당 수천 개의 요청을 처리할 수 있는 확장성을 확보했습니다. ### 효율적인 데이터 신선도 유지 전략 * **계층화된 수집 방식:** 복잡한 연산이 필요한 데이터는 메달리온 아키텍처(Medallion architecture) 기반의 배치 수집을, 실시간 신호는 스트리밍 방식을 병행합니다. * **지능형 변경 감지:** 모든 데이터를 매번 다시 쓰는 대신 변경된 레코드만 온라인 스토어에 기록하는 방식을 도입했습니다. * **비용 및 성능 최적화:** 변경 감지 기술을 통해 쓰기 작업량을 수억 건에서 백만 건 미만으로 줄여 업데이트 시간을 단축하고 인프라 부하를 최소화했습니다. 이러한 드롭박스의 접근 방식은 기성 제품을 그대로 사용하기보다 오픈소스를 활용해 내부 인프라에 최적화된 형태로 커스터마이징하는 것이 대규모 AI 서비스 운영에 얼마나 중요한지를 잘 보여줍니다. 특히 성능 병목 지점을 정확히 파악하여 서빙 레이어를 Go로 전환한 결정은 지연 시간에 민감한 실시간 랭킹 시스템 구축 시 고려해 볼 만한 전략입니다.

dropbox

Building the future: highlights from Dropbox’s 2025 summer intern class (새 탭에서 열림)

드롭박스는 2025년 여름 인턴십 프로그램을 통해 43명의 인턴과 함께 AI 기반 통합 검색 도구인 '드롭박스 대시(Dropbox Dash)'를 비롯한 핵심 서비스의 성능과 인프라를 혁신했습니다. 엔지니어링 중심의 이번 기수들은 12주간 멘토링과 실무 프로젝트에 참여하며, 특히 AI 모델의 신뢰성 강화와 다국어 검색 지원 등 드롭박스의 차세대 기술 역량을 끌어올리는 데 기여했습니다. 결과적으로 이번 프로그램은 인턴들에게는 실질적인 기술적 성장을, 기업에는 레거시 시스템 현대화와 운영 효율화라는 실용적 성과를 동시에 안겨주었습니다. ### 드롭박스 대시와 AI 기술 고도화 * **다국어 검색 지원 확대**: 통합 검색 플랫폼(USP)에 언어 감지 파이프라인을 통합하여 리플레이(Replay) 등 드롭박스 제품 전반에 걸쳐 20개 이상의 언어를 지원하는 네이티브 검색 환경을 구축했습니다. * **ML 모델 모니터링 시스템(AI Sentinel)**: 머신러닝 엔지니어가 수동으로 확인하던 모델 배포 상태를 실시간으로 가시화하는 시스템을 개발하여 배포의 신뢰성을 높이고 반복 주기를 단축했습니다. * **커넥터 플랫폼 최적화**: 대시의 데이터 저장소에서 최신 정보에 직접 접근할 수 있는 도구를 빌드하여, 외부 시스템의 데이터를 매번 다시 다운로드하지 않고도 최신 메타데이터 기반으로 모델을 학습시킬 수 있게 했습니다. * **문서 미리보기 및 웹 자동화**: 대시 내에서 문서를 즉시 미리 볼 수 있는 UI와 대화형 AI 기능을 통합하고, 폼 채우기나 교정 등의 반복 업무를 자동화하는 모듈형 AI 에이전트를 개발했습니다. ### 인프라 성능 및 데이터 효율화 * **스토리지 코어(Magic Pocket) 지연 시간 단축**: 디스크 재시작 시 발생하는 쓰기 지연 문제를 해결하기 위해 스토리지 상태를 추적하는 캐시와 성능이 저하된 볼륨을 제외하는 필터링 옵션을 추가하여 검색 결과의 정확도를 높였습니다. * **파일 시스템 메타데이터 리팩토링**: 레거시 파일 이력 추적 시스템을 현대화하여 메타데이터 인프라를 단순화하고 운영 비용을 대폭 절감했습니다. * **대규모 데이터 분석 최적화**: Databricks 쿼리와 ETL 파이프라인의 고비용 패턴을 식별하는 추천 시스템을 구축하고, 500TB 규모의 모바일 이벤트 로그를 최신 데이터 레이아웃 기술인 '리퀴드 클러스터링(Liquid Clustering)'으로 마이그레이션했습니다. ### 개발자 경험 및 운영 도구 개선 * **AI 기반 코드 마이그레이션**: 특정 폴더나 유형에 대해 코드 마이그레이션을 자동화하고 결과가 성공적일 경우 자동으로 Pull Request를 생성하는 도구를 제작하여 대규모 마이그레이션 작업을 효율화했습니다. * **지능형 지표 감지 시스템(Vortex2)**: 고정된 임계값 대신 데이터의 계절성과 변화 패턴을 학습하는 적응형 이상 탐지 기법을 도입하여 알림 피로도를 줄이고 장애 대응 속도를 개선했습니다. 이러한 인턴들의 성과는 드롭박스가 단순한 파일 저장소를 넘어 AI 중심의 워크플로우 플랫폼으로 진화하고 있음을 보여줍니다. 특히 대규모 마이그레이션 자동화나 인프라 수준의 지연 시간 최적화와 같은 실무적인 기술 해결책은 엔지니어링 팀의 생산성을 직접적으로 높이는 실용적인 결론을 도출했습니다.

dropbox

Half-Quadratic Quantization of large machine learning models (새 탭에서 열림)

HQQ(Half-Quadratic Quantization)는 별도의 데이터 보정(Calibration) 과정 없이도 대규모 언어 모델(LLM)을 초고속으로 양자화할 수 있는 혁신적인 알고리즘입니다. 기존 GPTQ 대비 50배 이상 빠른 속도를 자랑하며, Llama-2-70B 모델을 단 5분 만에 양자화하면서도 보정 데이터 기반 방식에 뒤처지지 않는 높은 압축 품질을 제공합니다. 특히 2비트로 양자화된 Llama-2-70B 모델이 전체 정밀도의 Llama-2-13B 모델 성능을 크게 앞지르는 등 효율성과 성능을 동시에 입증했습니다. **기존 양자화 방식의 한계와 HQQ의 접근법** * GPTQ나 AWQ와 같은 기존 보정 기반 방식은 외부 데이터셋을 사용해 레이어 출력의 오차를 최소화하지만, 데이터셋에 따른 편향(Bias)이 발생할 수 있고 연산 시간이 길다는 단점이 있습니다. * HQQ는 외부 데이터 없이 가중치(Weight) 자체의 오차를 직접 최소화하는 견고한 최적화 공식을 채택하여 데이터 편향 문제를 근본적으로 해결했습니다. * 가중치 내의 이상치(Outlier)를 효과적으로 처리하기 위해 제곱 오차 대신 하이퍼-라플라시안(hyper-Laplacian) 분포를 잘 포착하는 $l_{p<1}$ 노름(norm) 기반의 손실 함수를 도입했습니다. **Half-Quadratic Solver를 이용한 비볼록 최적화** * $l_p$ 노름을 사용하면 최적화 문제가 비볼록(Non-convex)해지는데, HQQ는 이를 해결하기 위해 보조 변수 $W_e$를 도입한 'Half-Quadratic Solver'를 사용합니다. * 이 방식은 복잡한 전체 문제를 풀기 쉬운 두 개의 서브 문제($sp_1, sp_2$)로 나누어 교차 최적화(Alternate Optimization)를 수행합니다. * 첫 번째 서브 문제($sp_1$)는 일반화된 소프트 임계값(Generalized Soft-thresholding) 연산자를 통해 가중치의 희소성을 촉진하고 이상치 에러를 보정합니다. * 두 번째 서브 문제($sp_2$)는 고정된 스케일($s$) 값 하에서 제로 포인트($z$)의 최적으로 도출하며, 이는 양자화 그룹별 평균을 구하는 간단한 수식으로 계산됩니다. **그래디언트 없는 폐쇄형 해의 기술적 이점** * HQQ는 PyTorch의 autograd를 사용하는 그래디언트 하강법 대신 수학적으로 도출된 폐쇄형 해(Closed-form solution)를 사용하여 단 몇 번의 반복만으로 수렴합니다. * 역전파(Backpropagation) 과정이 필요 없으므로 모든 계산을 추론 모드 및 반정밀도(Half-precision)에서 수행할 수 있으며, 이는 autograd 방식 대비 약 100배 이상의 속도 향상을 가져옵니다. * 이러한 효율성 덕분에 수천 번의 반복이 필요한 AdamW 최적화 도구보다 안정적이며, $p < 1$ 설정에서도 수렴 실패 없이 최적의 양자화 파라미터를 찾아낼 수 있습니다. HQQ는 보정 데이터에 대한 의존성을 제거하고 양자화 소요 시간을 '시간' 단위에서 '분' 단위로 단축함으로써, 리소스가 제한된 환경에서 대규모 모델을 신속하게 배포해야 하는 엔지니어들에게 매우 실용적인 해결책이 될 것입니다. 특히 모델의 크기가 커질수록 성능 우위가 두드러지므로, 최신 초거대 모델의 추론 최적화에 적극 권장됩니다.