Techlist.io - 한국 테크 블로그 큐레이터

google원문

단 몇 개의 예시만으로 (새 탭에서 열림)

구글 연구진은 대규모 언어 모델인 제미나이(Gemini)에 설문당 단 15개의 주석이 달린 예시만을 학습시키는 '소수 샷 학습(Few-shot Learning)'을 통해, 초신성과 같은 우주 현상을 93%의 정확도로 분류하는 전문가급 천문학 어시스턴트를 개발했습니다. 이 모델은 단순히 '진짜' 혹은 '가짜' 신호를 구분하는 것을 넘어, 자신의 판단 근거를 일상 언어로 설명함으로써 기존 머신러닝 모델의 '블랙박스' 문제를 해결했습니다. 이러한 연구 결과는 매일 밤 수천만 개의 알림이 발생하는 차세대 천문 관측 시대에 과학자들이 데이터를 효율적으로 검증하고 신뢰할 수 있는 협업 도구로 활용될 가능성을 보여줍니다. **기존 천문학 데이터 처리의 병목 현상** * 현대 천문학 관측 장비는 매일 밤 수백만 개의 신호를 생성하지만, 이 중 대다수는 위성 궤적이나 노이즈 같은 가짜 신호(bogus)입니다. * 기존에는 컨볼루션 신경망(CNN) 같은 특화된 모델을 사용해 왔으나, 판단 근거를 설명하지 못하는 '블랙박스' 구조라는 한계가 있었습니다. * 베라 C. 루빈 천문대와 같은 차세대 망원경이 가동되면 매일 밤 1,000만 개의 알림이 쏟아질 예정이어서, 과학자들이 일일이 수동으로 확인하는 것은 불가능에 가깝습니다. **소수 샷 학습을 통한 다중 양식 모델의 진화** * 수백만 개의 데이터로 학습시키는 대신, Pan-STARRS, MeerLICHT, ATLAS 등 세 가지 주요 천문 조사 데이터에서 각각 15개의 예시만 사용했습니다. * 각 학습 예시는 새로운 이미지, 과거의 참조 이미지, 두 이미지의 차이를 보여주는 차분 이미지와 함께 전문가의 주석 및 관심도 점수로 구성되었습니다. * 제미나이는 망원경마다 다른 해상도와 픽셀 스케일에도 불구하고, 최소한의 정보만으로 서로 다른 천문 관측 환경의 데이터를 일반화하여 처리하는 능력을 보여주었습니다. **설명 가능한 AI와 전문가 수준의 정확도** * 제미나이는 특화된 CNN 모델과 대등한 93%의 평균 정확도를 기록하며 우주 이벤트를 분류해냈습니다. * 모델은 레이블뿐만 아니라 관찰된 특징을 설명하는 텍스트와 후속 관측 우선순위를 정할 수 있는 관심도 점수(0~5점)를 함께 생성합니다. * 12명의 전문 천문학자 패널이 검토한 결과, 모델의 설명은 논리적 일관성이 매우 높았으며 실제 전문가의 추론 방식과 일치함을 확인했습니다. **모델의 자가 불확실성 평가 능력** * 모델이 스스로 자신의 설명에 대해 '일관성 점수(coherence score)'를 매기도록 유도하는 중요한 발견을 했습니다. * 일관성 점수가 낮게 측정된 경우 실제 오분류일 확률이 높다는 사실이 밝혀졌으며, 이는 모델이 스스로 언제 오류를 범할지 판단할 수 있음을 의미합니다. * 이러한 자가 진단 기능은 과학자들이 어떤 데이터를 추가로 정밀 검토해야 하는지 판단하는 데 결정적인 도움을 줍니다. 이번 연구는 범용 멀티모달 모델이 최소한의 가이드라인만으로도 고도의 전문 과학 영역에서 블랙박스 없는 투명한 파트너가 될 수 있음을 입증했습니다. 천문학자들은 이제 방대한 데이터 속에서 유망한 후보를 찾기 위해 모델과 대화하며 추론 과정을 검토할 수 있으며, 이는 향후 대규모 데이터가 쏟아지는 모든 과학 연구 분야에 중요한 이정표가 될 것입니다.

line원문

앱 성공을 위한 필수 요소: 장애 모니터링 (새 탭에서 열림)

모바일 서비스의 성공을 위해서는 사용자 신고 이전에 장애를 포착하고 대응할 수 있는 체계적인 모니터링 시스템 구축이 필수적입니다. 단순히 에러를 수집하는 것에 그치지 않고, 로그 레벨을 정교하게 설계하고 핵심 이벤트를 시각화함으로써 운영 환경의 예기치 못한 문제를 실시간으로 파악할 수 있습니다. 이를 통해 장애 대응 시간을 단축하고 사용자 이탈을 방지하여 서비스의 전반적인 품질과 신뢰도를 높일 수 있습니다. **Flutter 환경에서의 Sentry 초기 설정과 데이터 보호** * **의존성 및 환경 설정**: `sentry_flutter`와 네트워크 로그 자동 기록을 위한 `sentry_dio` 패키지를 사용하며, DSN 설정 시 운영(production)과 개발(dev) 환경을 명확히 구분하여 태깅합니다. * **비용 및 성능 최적화**: 모든 트래픽을 수집하는 대신 `tracesSampleRate`를 조절하여 샘플링 비율을 최적화하고 운영 비용을 관리합니다. * **민감 정보 마스킹**: `beforeSend` 콜백을 활용해 서버로 로그를 전송하기 전 사용자 인증 토큰이나 IP 주소 등 개인정보를 삭제하거나 마스킹 처리합니다. * **맥락 파악을 위한 장치**: 사용자 아이디를 설정하는 `configureScope`와 클릭 및 화면 이동 경로를 기록하는 `Breadcrumb`, `NavigatorObserver`를 연결해 에러 발생 직전의 사용자 행동을 복원할 수 있게 합니다. **효율적인 운영을 위한 5단계 로그 레벨 설계** * **Debug & Info**: 개발 단계의 로그는 로컬에서만 확인하고, `info` 레벨은 회원 가입이나 결제처럼 데이터 상태가 변하는 핵심 행위에 대해서만 기록하여 불필요한 트래픽을 방지합니다. * **Warning**: 외부 시스템 연동 실패(API 오류, 푸시 유실 등) 시 기록하며, 사용자의 일시적인 네트워크 문제는 제외하여 노이즈를 줄입니다. 이는 '10분간 100회 발생'과 같은 특정 임계치 기반의 알림 설정 대상으로 활용됩니다. * **Error**: 코드상으로 통제할 수 없는 내부 로직 오류(Null 객체 접근, 파싱 실패, 불가능한 비즈니스 상태 등) 발생 시 기록하며, 즉각적인 확인과 대응이 필요한 단계입니다. * **Fatal**: 앱 크래시나 처리되지 않은 예외 상황을 기록하며, 서비스 가용성에 치명적인 영향을 주는 지표로 관리합니다. **데이터 기반 대응을 위한 커스텀 이벤트 및 대시보드 구성** * **태그 기반 쿼리**: 로그 전송 시 `module`, `eventName`, `reason` 등 커스텀 태그를 명확히 부여하면 특정 기능별 실패율을 쿼리로 쉽게 검색하고 분석할 수 있습니다. * **성능 지표 모니터링**: HTTP 인터셉터를 통해 API 응답 시간과 병목 구간을 측정하고, 화면 로딩 속도 등 사용자 경험에 직결되는 지표를 추적합니다. * **시각화와 알람**: 수집된 데이터를 바탕으로 '비정상 종료 발생 없는 사용자(Crash-free users)' 비율과 주요 이벤트 실패율을 시각화한 대시보드를 구성하고, 장애 지속 시 수신 대상을 단계적으로 확대하는 알람 체계를 구축합니다. 성공적인 모니터링을 위해서는 로그 메시지의 형식을 통일하고 팀 내에서 엄격한 로그 레벨 가이드라인을 공유하는 것이 중요합니다. 처음부터 모든 알람을 활성화하기보다는 핵심 지표부터 시작하여 점진적으로 임계치를 조절해 나감으로써, 알람 피로도를 줄이고 실제 장애 상황에 집중할 수 있는 환경을 만드는 것을 추천합니다.

google원문

가상 머신 퍼즐 해결: (새 탭에서 열림)

구글 리서치와 딥마인드가 개발한 LAVA는 클라우드 데이터 센터의 자원 효율성을 극대화하기 위해 가상 머신(VM)의 수명을 실시간으로 예측하고 적응하는 새로운 스케줄링 알고리즘입니다. 기존의 단발성 예측 방식에서 벗어나 VM이 실행되는 동안 지속적으로 남은 수명을 재예측하는 방식을 채택하여 자원 파편화와 낭비를 획기적으로 줄였습니다. 이 시스템은 실제 구글의 대규모 클러스터 관리 시스템인 Borg에 적용되어 빈 호스트 확보 및 자원 활용도 측면에서 유의미한 성능 향상을 입증했습니다. ## 수명 예측의 불확실성과 연속 재예측 기술 * 클라우드 VM의 수명은 매우 불확실하며, 대다수의 단기 VM(88%)이 아주 적은 자원(2%)만 사용하는 반면 극소수의 장기 VM이 대부분의 자원을 점유하는 롱테일(Long-tail) 분포를 보입니다. * LAVA는 생존 분석(Survival Analysis)에서 영감을 얻은 머신러닝 모델을 사용하여 VM 수명을 단일 값이 아닌 확률 분포로 예측함으로써 내재된 불확실성을 관리합니다. * "연속 재예측(Continuous Reprediction)" 기능을 통해 VM이 실행되는 동안 축적된 정보를 바탕으로 남은 수명을 실시간으로 업데이트하며, 이를 통해 초기 예측 오류를 스스로 수정하고 정확도를 높입니다. ## NILAS: 기존 시스템에 통합되는 비침습적 스케줄링 * NILAS(Non-Invasive Lifetime Aware Scheduling)는 기존 구글의 Borg 스케줄러 점수 함수에 수명 예측 데이터를 통합한 알고리즘입니다. * 새로운 VM을 배치할 때 해당 호스트에 이미 있는 VM들의 예상 종료 시간을 고려하여, 비슷한 시기에 종료될 VM들을 한곳에 모읍니다. * 이 방식은 특정 시점에 호스트 내의 모든 VM이 동시에 종료되도록 유도하여, 대규모 작업이나 유지보수에 필수적인 '빈 호스트'를 더 많이 확보하는 데 기여합니다. ## LAVA와 LARS를 통한 자원 배치 및 재배치 최적화 * **LAVA (Lifetime-Aware VM Allocation):** 장기 VM이 점유 중인 호스트의 남은 유휴 공간에 아주 짧은 수명의 VM들을 배치하는 전략입니다. 이는 자원 파편화(Resource Stranding)를 방지하며, 단기 VM이 빠르게 종료되므로 호스트의 전체 수명에 영향을 주지 않고 효율을 높입니다. * **LARS (Lifetime-Aware Rescheduling):** 데이터 센터 유지보수나 파편화 제거가 필요할 때, 예측된 수명이 긴 VM부터 우선적으로 다른 호스트로 이주시킵니다. 수명이 짧은 VM은 이주시키지 않고 자연스럽게 종료되도록 기다림으로써 불필요한 시스템 중단과 이동 비용을 최소화합니다. LAVA의 도입은 예측 불가능한 사용자 워크로드를 다루는 클라우드 인프라에서 단순한 정적 규칙보다 실시간 데이터 기반의 적응형 알고리즘이 훨씬 효과적임을 시사합니다. 이러한 접근법은 대규모 데이터 센터 운영에서 경제적 효율성을 높일 뿐만 아니라, 서버 가동률 최적화를 통해 에너지 소비를 줄이는 환경적 지속 가능성 측면에서도 중요한 솔루션이 될 수 있습니다.

google원문

DeepSomatic으로 종양 내 (새 탭에서 열림)

DeepSomatic은 구글 리서치가 개발한 AI 기반 도구로, 암 세포에서 발생하는 후천적 유전 변이(체세포 변이)를 정밀하게 식별하여 맞춤형 암 치료를 지원합니다. 기존 방식보다 높은 정확도를 자랑하는 이 모델은 합성곱 신경망(CNN)을 활용해 다양한 시퀀싱 플랫폼과 샘플 유형에 유연하게 대응할 수 있도록 설계되었습니다. 연구팀은 이 도구와 고품질 학습 데이터셋을 오픈소스로 공개하여 정밀 의료 및 암 연구의 가속화를 도모하고 있습니다. ### 체세포 변이 식별의 기술적 난제 * 암은 DNA 복제 오류나 환경적 요인으로 인해 출생 후 발생하는 '체세포 변이(Somatic variants)'에 의해 유발되며, 이는 종양의 발생과 전이를 주도합니다. * 모든 세포에 존재하는 부모로부터 물려받은 '생식세포 변이(Germline variants)'와 달리, 체세포 변이는 종양 내 특정 세포군에서만 서로 다른 빈도로 나타나기 때문에 식별이 매우 어렵습니다. * 특히 시퀀싱 과정에서 발생하는 미세한 기계적 오류율이 실제 체세포 변이의 발생률보다 높을 수 있어, 단순 노이즈와 실제 암 유발 변이를 정확히 구분하는 기술이 필수적입니다. ### 합성곱 신경망(CNN) 기반의 이미지 분석 기법 * DeepSomatic은 유전체 시퀀싱 데이터를 이미지 형태로 변환하여 분석하며, 이는 구글의 기존 도구인 DeepVariant의 메커니즘을 발전시킨 방식입니다. * 변환된 이미지는 염색체 정렬 상태, 시퀀싱 품질 등 다양한 변수를 시각화하여 포함하며, CNN 모델이 이 이미지를 학습하여 패턴을 인식합니다. * 모델은 참조 유전체(Reference genome), 개인의 고유한 생식세포 변이, 그리고 암으로 인한 체세포 변이를 삼차원적으로 비교 분석하여 시퀀싱 오류를 효과적으로 걸러내고 실제 변이 목록을 도출합니다. ### 다양한 임상 환경에 최적화된 분석 모드 * 종양 세포와 정상 세포를 함께 분석하는 '쌍체 모드(Paired mode)'를 통해 변이의 기원을 명확히 판별할 수 있습니다. * 정상 세포를 확보하기 어려운 혈액암(백혈병 등)과 같은 상황을 위해, 종양 데이터만으로 변이를 찾는 '종양 전용 모드(Tumor-only mode)'도 지원하여 활용도를 높였습니다. * 모든 주요 시퀀싱 플랫폼 데이터와 호환되며, 학습 과정에서 다루지 않은 새로운 암 종류에 대해서도 뛰어난 일반화 성능과 정확도를 보여줍니다. DeepSomatic은 암의 복잡한 유전적 특성을 파악하는 데 강력한 분석력을 제공하며, 특히 희귀하거나 미세한 변이를 찾아내는 데 탁월한 성능을 발휘합니다. 연구자와 임상의는 오픈소스로 공개된 이 도구와 CASTLE 데이터셋을 활용해 환자 개개인의 암 특성에 최적화된 맞춤형 치료 전략을 수립함으로써 정밀 의료의 실현을 앞당길 수 있을 것으로 기대됩니다.

datadog원문

실패는 피할 수 없습니다: (새 탭에서 열림)

2023년 3월, 데이터독(Datadog)은 인프라의 약 50~60%가 중단되는 대규모 장애를 겪으며 시스템의 일부가 마비될 때 플랫폼 전체가 완전히 다운된 것처럼 보이는 '정방형 파형(Square-wave)' 장애 패턴을 확인했습니다. 이를 계기로 데이터독은 모든 장애 상황을 완벽히 방지하는 것은 불가능하다는 점을 인정하고, 장애 발생 시에도 시스템이 점진적으로 기능을 유지하는 '우아한 성능 저하(Graceful Degradation)'를 최우선 가치로 삼게 되었습니다. 데이터 유실 방지, 실시간 데이터 우선 처리, 부분적인 결과 제공을 핵심 원칙으로 설정하여 인프라 전반의 회복 탄력성을 재설계하는 대대적인 변화를 추진하고 있습니다. **"결함 없음" 설계의 한계와 Square-wave 장애** - 과거 데이터독은 데이터의 '정확성'을 보장하기 위해 100% 완벽한 데이터가 수집될 때까지 쿼리 결과를 반환하지 않도록 시스템을 최적화했습니다. - 이러한 설계는 일부 노드가 다운되었을 때 시스템 전체가 응답을 멈추게 하여, 사용자에게는 플랫폼이 완전히 중단된 것처럼 보이는 이진적(Binary) 장애를 초래했습니다. - 고전적인 근본 원인 분석(RCA)을 통해 특정 트리거를 제거할 수는 있지만, 소프트웨어 업데이트, 인증서 만료 등 무한한 장애 원인을 모두 예방하는 것은 불가능하다는 결론에 도달했습니다. **우아한 성능 저하를 위한 새로운 우선순위** - 시스템 구성 요소가 완벽하게 작동해야만 가치를 제공하는 '결함 방지(Never-fail)' 아키텍처에서 '더 잘 실패(Fail better)'하는 구조로 전환했습니다. - 데이터 유실 방지: 처리가 늦어지더라도 고객의 데이터가 영구적으로 사라지지 않도록 보장합니다. - 실시간성 우선: 가용 자원이 부족할 때 오래된 데이터보다 실시간 데이터를 우선적으로 처리하여 현재 상태를 파악할 수 있게 합니다. - 부분 결과 제공: 모든 데이터가 준비되지 않았더라도 정확도가 확인된 범위 내에서 부분적인 데이터를 즉시 시각화합니다. **데이터 유실 방지를 위한 영구적 수집 저장소(Persistent Intake Storage)** - 장애 당시 메모리나 로컬 디스크에만 머물던 미복제 데이터가 노드 유실과 함께 사라졌던 문제를 해결하기 위해 파이프라인 초기 단계에 디스크 기반 영구 저장소를 도입했습니다. - 수집(Intake) 직후 데이터를 복제된 저장소에 즉시 기록함으로써, 후속 처리 시스템이 정체되거나 노드가 유실되더라도 데이터 손실 없이 재처리가 가능하도록 설계했습니다. - 이를 통해 네트워크 지연이나 하위 시스템의 과부하 상황에서도 데이터 수집 단계에서의 안정성을 확보했습니다. 모든 장애를 차단하려는 시도보다는, 장애 상황에서도 시스템이 어떻게 부분적으로나마 작동할 수 있을지를 설계 단계부터 고민해야 합니다. 대규모 분산 시스템을 운영한다면 데이터의 완전성(Completeness)과 가용성(Availability) 사이의 균형을 재검토하고, 최악의 순간에도 사용자에게 최소한의 가시성을 제공할 수 있는 복구 탄력성을 구축하는 것이 권장됩니다.

datadog원문

장애는 피할 수 없다: 대규모 장애에서 배우고 Datadog에서 안정성을 심층적으로 구축하기 (새 탭에서 열림)

2023년 3월에 발생한 대규모 장애를 계기로 데이터독(Datadog)은 시스템 가용성에 대한 근본적인 철학을 재정립했습니다. 당시 인프라의 50~60%가 작동 불능 상태에 빠지자 플랫폼 전체가 완전히 멈춘 것처럼 보이는 '정사각형 파형(Square-wave) 실패' 패턴이 나타났으며, 이는 완벽한 데이터 정확성에만 집착하던 기존 설계의 한계를 드러냈습니다. 이에 데이터독은 모든 장애를 막으려는 시도 대신, 극단적인 상황에서도 일부 기능을 유지하며 가치를 제공하는 '우아한 성능 저하(Graceful Degradation)'를 핵심 전략으로 채택했습니다. ### 장애의 교훈: 정사각형 파형 실패의 발견 * **이진법적 실패:** 2023년 3월, 글로벌 보안 업데이트 과정에서 쿠버네티스 노드의 약 절반이 연결을 소실했습니다. 인프라의 절반은 여전히 작동 중이었음에도 불구하고, 사용자 입장에서는 서비스가 아예 응답하지 않거나 데이터가 전혀 보이지 않는 '전부 아니면 전무(All-or-Nothing)' 식의 장애가 발생했습니다. * **정확성 편향의 부작용:** 기존 시스템은 데이터의 정확성을 보장하기 위해 모든 태그와 메트릭이 완전히 처리될 때까지 쿼리 결과 표시를 대기하도록 설계되었습니다. 평상시에는 올바른 선택이지만, 대규모 장애 시에는 일부 데이터 누락이 전체 시스템의 데이터 가독성을 차단하는 결과를 초래했습니다. * **사후 분석의 한계:** 단순히 장애의 트리거(레거시 업데이트 메커니즘)를 제거하는 것만으로는 충분하지 않았습니다. 인증서 만료, 윤초, 설정 오류 등 장애의 원인은 무한하기 때문에, 원인 차단보다는 장애 발생 시 시스템이 어떻게 반응하느냐가 더 중요하다는 점을 깨달았습니다. ### 실패를 위한 설계: 우아한 성능 저하의 원칙 * **복구력 중심의 사고 전환:** 절대 실패하지 않는(Never-fail) 아키텍처는 불가능하다는 것을 인정하고, '더 잘 실패하는(Failing better)' 시스템을 구축하는 데 집중하기 시작했습니다. * **우선순위의 재정립:** 장애 상황에서도 고객의 비즈니스 연속성을 보장하기 위해 세 가지 원칙을 세웠습니다. ① 데이터는 늦더라도 절대 유실되지 않아야 한다. ② 가용한 자원은 실시간 데이터 처리에 우선 할당한다. ③ 아무것도 보여주지 않는 것보다 부정확하더라도 부분적인 결과를 보여주는 것이 낫다. ### 데이터 유실 방지를 위한 영구 흡수 저장소(Persistent Intake) * **메모리 기반 버퍼의 위험성:** 분석 결과, 초기 데이터 흡수(Intake) 단계에서 데이터가 메모리나 로컬 디스크에만 머물러 있다가 노드 장애 시 복구 불가능하게 유실되는 문제가 확인되었습니다. * **디스크 기반 영구 저장:** 데이터 처리 파이프라인의 가장 앞단에 디스크 기반의 복제 저장소를 도입했습니다. 이를 통해 수집 노드가 중단되더라도 데이터가 유실되지 않도록 보장하며, 다운스트림 시스템이 마비되었을 때도 버퍼 역할을 수행하여 데이터 에이전트의 재시도 실패를 방지합니다. * **지연 시간과 안정성의 균형:** 응답 속도를 위해 최적화되었던 기존 방식에서 벗어나, 데이터 수신 확인(Acknowledgment)을 보내기 전에 복제된 저장소에 안전하게 기록하는 구조로 변경하여 신뢰성을 높였습니다. ### 실용적인 결론 및 제언 대규모 시스템을 운영하는 엔지니어링 팀은 시스템의 **신뢰성(Reliability)**을 단순히 '장애가 없는 상태'로 정의해서는 안 됩니다. 시스템의 일부가 마비되더라도 핵심적인 기능은 작동을 멈추지 않도록 설계해야 합니다. 특히 데이터 정확성과 가용성 사이의 트레이드오프를 재검토하여, 장애 시나리오에서는 '완벽한 데이터'보다 '부분적이지만 즉각적인 가시성'을 제공하는 것이 비즈니스 관점에서 훨씬 유리할 수 있음을 명심해야 합니다.

google원문

Coral NPU: 엣 (새 탭에서 열림)

Coral NPU는 저전력 엣지 기기와 웨어러블 장치에서 상시 가동되는 AI를 구현하기 위해 설계된 오픈소스 풀스택 플랫폼입니다. 구글 리서치와 구글 딥마인드가 공동 설계한 이 플랫폼은 기존 클라우드 기반 모델의 한계를 넘어 개인정보 보호와 성능, 그리고 하드웨어 파편화 문제를 동시에 해결하고자 합니다. 이를 통해 스마트 워치나 AR 글래스 같은 배터리 제한적인 기기에서도 효율적인 온디바이스 AI 경험을 제공할 수 있는 기반을 마련했습니다. **엣지 AI 도입의 주요 장벽** * **성능 및 전력 격차:** 최신 ML 모델은 높은 연산력을 요구하지만, 엣지 기기는 전력, 발열, 메모리 자원이 극도로 제한되어 있어 클라우드 없이 실행하기 어렵습니다. * **소프트웨어 파편화:** 다양한 독자적 프로세서에 맞춰 모델을 컴파일하고 최적화하는 과정이 복잡하고 비용이 많이 들어, 기기 간 일관된 성능 유지가 어렵습니다. * **사용자 신뢰와 보안:** 진정한 개인 맞춤형 AI를 위해서는 개인 데이터를 클라우드로 전송하지 않고 기기 로컬 내에서 안전하게 처리하는 환경이 필수적입니다. **AI 우선주의 하드웨어 아키텍처** * **설계의 역발상:** 전통적인 CPU 중심 설계 대신 ML 매트릭스 엔진을 최우선으로 배치하여, 실리콘 단계부터 AI 추론 효율성을 극대화하도록 재설계되었습니다. * **RISC-V 기반 IP 블록:** 개방형 표준인 RISC-V ISA를 준수하는 아키텍처를 통해 SoC 설계자가 설계를 자유롭게 수정하거나 확장할 수 있는 유연성을 제공합니다. * **초저전력 고성능:** 수 밀리와트(mW) 정도의 전력만 소모하면서도 약 512 GOPS(Giga Operations Per Second)의 성능을 제공하여 상시 주변 감지(Ambient sensing)가 가능합니다. **Coral NPU의 핵심 구성 요소** * **스칼라 코어(Scalar Core):** 데이터 흐름을 관리하는 경량 RISC-V 프런트엔드로, 초저전력 구동을 위해 단순한 실행 모델을 채택하고 전통적인 CPU 기능을 수행합니다. * **벡터 실행 유닛(Vector Unit):** RISC-V 벡터 명령어 세트(RVV v1.0)를 준수하는 SIMD 코프로세서로, 대규모 데이터 세트를 동시에 처리하는 능력을 갖췄습니다. * **매트릭스 실행 유닛(Matrix Unit):** 신경망 연산의 핵심인 양자화된 외적 곱셈-누산(MAC)을 가속하기 위해 특별히 설계된 엔진으로, 현재 개발 중이며 곧 오픈소스로 공개될 예정입니다. **통합된 개발자 경험 및 소프트웨어 스택** * **유연한 프레임워크 지원:** TensorFlow, JAX, PyTorch 등의 모델을 IREE나 TFLM 같은 현대적 컴파일러를 통해 쉽게 배포할 수 있는 환경을 제공합니다. * **MLIR 기반 도구 체인:** StableHLO와 MLIR 포맷을 활용하여 모델을 효율적으로 변환하고, 시뮬레이터와 커스텀 커널을 통해 최적화된 경로를 지원합니다. * **C언어 프로그래밍 가능:** 하드웨어 가속기임에도 개발자가 익숙한 C언어로 프로그래밍할 수 있어 하드웨어의 강점을 활용하면서도 개발 난이도를 낮췄습니다. Coral NPU는 하드웨어 설계자에게는 확장 가능한 참조 아키텍처를, 소프트웨어 개발자에게는 파편화되지 않은 통합 도구를 제공합니다. 배터리 소모를 최소화하면서도 강력한 AI 기능을 구현하고자 하는 제조사나 개발자라면 구글이 공개한 문서와 깃허브(GitHub)의 오픈소스 도구를 통해 차세대 온디바이스 AI 기기 개발을 시작해 볼 수 있습니다.

figma3분 읽기큐레이션 요약

Figma에서 접근성을 개선하는

Figma는 키보드만으로 캔버스와 댓글을 조작하고, 스크린 리더로 파일 내용을 더 정확히 이해할 수 있도록 15가지 이상의 접근성 기능을 출시했다. 제품별 키보드 단축키, 더 논리적인 포커스 이동, 풍부한 객체 설명과 서식 정보, 향상된 색상 대비가 포함된다. 이를 통해 장애가 있는 사용자뿐 아니라 장시간 작업하거나 다양한 환경에서 Figma를 사용하는 모든 사용자의 탐색성과 작업 흐름을 개선하는 것이 목표다. ## 캔버스 조작을 위한 키보드 기능 확대 - 키보드만으로 캔버스 객체를 이동·조정·정렬할 수 있는 기능이 제품 전반으로 확대됐다. - **Figma Slides** - 발표자 노트 크기 조정 - AI를 활용한 글쓰기 톤 변경 - **FigJam** - 표의 행과 열 추가·삭제·순서 변경 - 스탬프, 투표, 와시 테이프 추가 및 조정 - AI 요약, 임베드 링크·동영상 같은 캔버스 객체 탐색 - 마커 선과 형광펜 스트로크 선택 및 조정 - **Figma Design** - 선 추가·선택·조정 - 룰러 가이드 추가·삭제·편집 - 타원에서 호(arc) 생성 및 편집 - **공통 기능** - 편집 모드와 보기 전용 모드에서 링크 열기 - 키보드로 링크 사이를 이동 ## 댓글과 Dev Mode 주석 탐색 - 댓글을 추가하고, 위치를 옮기고, 댓글 간 이동을 키보드 단축키로 처리할 수 있다. - Dev Mode 주석도 키보드로 추가·이동·탐색할 수 있다. - 피드백을 확인하거나 답변할 때 포커스가 흐트러지지 않도록 설계되어 협업과 핸드오프 과정이 개선된다. - 댓글 관련 기능은 베타 제품에서는 제공되지 않을 수 있다. ## 사용자 설정을 통한 조작 방식 개인화 - 입력 중 Figma 전용 단축키가 동작하지 않도록 설정할 수 있다. - 다른 사용자가 스포트라이트를 사용할 때 자동으로 따라가는 기능을 켜거나 끌 수 있다. - 사용자는 작업 방식이나 보조기술 사용 환경에 맞춰 키보드 동작을 조정할 수 있다. ## 스크린 리더 지원 강화 - 버튼, 메뉴, 패널 등 인터랙티브 요소를 Tab 키로 이동할 때 더 논리적인 순서를 따른다. - 메뉴 열기, 버튼 실행, 툴바 옵션 선택 등 특정 동작으로 바로 이동할 수 있다. - 객체를 읽을 때 유형, 이름, 상태 등 더 자세한 정보가 제공된다. - 새 댓글이나 파일 변경 사항 같은 중요한 업데이트가 더 일관되게 안내된다. - 굵게, 기울임, 목록, 링크 등 서식 있는 텍스트 구조를 스크린 리더가 보존해 읽는다. - Buzz와 Slides의 캔버스 객체도 스크린 리더가 인식하고 안내한다. - 이러한 개선은 캔버스의 객체 순서를 파악하고 파일 변경 사항을 놓치지 않도록 돕는다. ## 향상된 색상 대비 - 간단한 토글로 라이트 모드와 다크 모드 모두에서 인터페이스의 색상 대비를 높일 수 있다. - 접근성 설정, Actions 메뉴, General 설정에서 기능을 활성화할 수 있다. - 텍스트와 아이콘의 가독성이 높아지고, 버튼과 외곽선이 더 뚜렷하게 표시된다. - 인터페이스 구조를 파악하고 필요한 요소를 빠르게 찾기 쉬워진다. - 햇빛이나 강한 조명 아래에서도 화면을 보기 쉬우며, 장시간 화면을 사용하는 경우 눈의 부담을 줄일 수 있다. ## 실용적인 활용 키보드 중심으로 작업하는 사용자는 Figma의 전체 키보드 컨트롤 목록을 확인해 자주 쓰는 캔버스·댓글 단축키를 익히는 것이 좋다. 스크린 리더 사용자는 객체 설명과 서식 있는 텍스트 지원을 활용하고, 일반 사용자도 색상 대비 설정을 활성화하면 장시간 작업이나 밝은 환경에서 더 편하게 Figma를 사용할 수 있다.

원문 읽기(새 탭에서 열림)
discord4분 읽기큐레이션 요약

직원 추천, 2025년 9월: 우리의 비디오 게임 박물관에 오신 것을 환영합니다

이 글은 Discord 직원들이 자신의 게임 인생에서 특별한 의미를 지닌 작품과 최근 즐기는 게임을 소개하는 인터뷰 형식의 글이다. 게임의 기술적 혁신뿐 아니라 친구와의 추억, 어린 시절의 향수, 예상치 못한 발견, 깊이 있는 세계관 등이 한 작품을 ‘개인적인 박물관’에 전시할 이유가 된다고 말한다. 결론적으로 좋은 게임은 장르나 시대를 넘어 개인의 기억과 취향을 형성한다. ## 게임 박물관에 전시하고 싶은 작품 - **Super Mario 64** - Nintendo 64를 직접 소유하지 않았지만 친구의 집에서 매일 플레이했던 추억이 핵심이다. - 당시로서는 충격적이었던 3D 그래픽과 직관적인 조작감이 강한 인상을 남겼다. - 그림 속으로 뛰어들어 여러 월드를 탐험하는 구조, 음악과 스토리 모두 상징적인 요소로 평가된다. - 이후 가장 좋아하는 닌텐도 게임 중 하나인 *Super Mario Sunshine*으로 이어지는 계기가 됐다. - **The Legend of Zelda: Ocarina of Time** - 처음 제대로 접한 Zelda 게임으로, 이후 여러 차례 100% 클리어할 만큼 개인적인 의미가 크다. - 오랜 시간이 지나도 위안이 되는 ‘컴포트 게임’으로 남아 있다. - 원본 카트리지와 낡고 테이프로 수리한 공식 공략집까지 함께 전시하고 싶다고 말한다. - 반복해서 플레이해도 특정 장면의 공포와 긴장감이 여전히 생생하다는 점도 재미있는 추억으로 언급된다. - **Kingdom Hearts** - Disney와 *Final Fantasy*라는 두 관심사가 결합된 점이 어린 시절 매우 혁신적으로 느껴졌던 작품이다. - PS2와 공략집을 구해 장시간 플레이했던 경험이 강한 향수로 남아 있다. - 시리즈 최고작으로는 *Kingdom Hearts II*를 꼽지만, 모든 시작점이 된 첫 작품에 특별한 가치를 둔다. - 복잡한 전체 시리즈를 모두 플레이하지 않더라도 첫 작품은 누구나 경험해볼 만하다고 추천한다. - **The Legend of Heroes: Trails of Cold Steel III** - 여러 작품이 하나의 연결된 세계를 공유하는 장편 JRPG 시리즈의 일부다. - 각 작품군이 서로 다른 국가와 인물을 다루다가 결국 거대한 사건 속에서 교차하는 구조를 갖는다. - 방대한 세계관, 많은 개성적인 캐릭터, 세부적인 NPC 대사 변화가 장점으로 제시된다. - 스토리와 세계 구축을 중시하는 플레이어에게 강하게 추천하는 작품이다. - **Professor Layton and the Curious Village** - 부모가 정한 생일 선물 예산 때문에 원래 원했던 Pokémon 대신 우연히 선택한 게임이다. - 어려운 퍼즐을 풀면서 미스터리를 밝혀가는 구조를 통해 스토리 중심 게임의 매력을 처음 깊이 경험했다. - 예상하지 못한 선택이 인생에서 가장 좋아하는 시리즈 중 하나로 이어졌다는 점이 핵심이다. - 새로운 게임을 시도하고 뜻밖의 작품을 발견하는 즐거움을 일깨운 게임으로 평가된다. ## 최근 즐기는 게임 - **Hollow Knight** - 후속작 *Silksong* 출시를 앞두고 다시 플레이한 사례가 여러 번 등장한다. - 한 직원은 100% 달성을 거의 앞두고 있으며, 다른 직원은 초반에 여러 번 중단했지만 이동 능력을 얻은 뒤 본격적으로 재미를 느끼기 시작했다. - Metroidvania 장르 특유의 탐험과 능력 해금 구조가 주요 매력으로 언급된다. - **Balatro** - 조커 150개 중 149개를 모을 정도로 높은 몰입도를 보이고 있다. - 짧게 즐길 수 있는 카드 게임이지만 수집과 반복 플레이가 강한 중독성을 만든다는 인상을 준다. - **Final Fantasy XIV** - 파트너가 새롭게 시작하면서 기존의 애정과 플레이 열정이 되살아났다. - 단순히 혼자 즐기는 게임을 넘어 함께 플레이하는 관계와 커뮤니티가 재미를 확장하는 사례다. - **The Elder Scrolls IV: Oblivion 리메이크와 Lost Soul Aside** - 한 직원은 *Oblivion* 리메이크를 천천히 진행 중이며, *Lost Soul Aside*의 출시도 기대하고 있다. ## 새로 합류한 Anni의 게임 경험 - Anni는 Discord의 시니어 소셜 미디어 매니저로 소개된다. - 어린 시절에는 Miniclip을 비롯한 Flash 게임을 즐겼고, 현재는 **DotA 2**를 주력으로 플레이한다. - 특정 장르에 국한되지 않고 다양한 게임을 즐기며, 게임 커뮤니티에서 새로운 사람을 만나는 것을 좋아한다. - 그녀의 사례에서 게임은 플레이 자체뿐 아니라 커뮤니티와 인간관계를 형성하는 매개체로 나타난다. ## 글이 보여주는 게임의 가치 - 게임의 의미는 그래픽이나 판매량만으로 결정되지 않는다. - 친구와 함께한 시간, 가족의 선물, 우연한 구매, 특정 시기의 사회적 경험이 작품의 가치를 크게 좌우한다. - 오래된 게임도 개인의 기억과 결합하면 시간이 지나도 계속 플레이하게 되는 작품이 된다. - 각기 다른 장르인 액션, JRPG, 퍼즐, 카드, MMO가 모두 개인의 취향과 인생에 영향을 줄 수 있음을 보여준다. 자신만의 ‘게임 박물관’을 만든다면 가장 유명한 작품보다, 처음으로 깊이 몰입했거나 중요한 사람과 함께했던 게임을 고르는 것이 글의 취지에 가장 잘 맞는다.

원문 읽기(새 탭에서 열림)
airbnb원문

에어비앤비의 키-값 저장소에서 정적 속도 제한에서 적응형 트래픽 관리로 (새 탭에서 열림)

에어비앤비는 분산 키-밸류 저장소인 'Mussel'의 트래픽 관리 방식을 단순 요청 횟수 제한(QPS)에서 자원 기반의 적응형 제어 시스템으로 진화시켰습니다. 이 시스템은 요청의 실제 비용을 계산하는 자원 인식형 속도 제한(RARC)과 우선순위 기반의 부하 차단(Load Shedding) 계층을 도입하여 시스템의 유용 작업량(Goodput)을 극대화합니다. 결과적으로 Mussel은 예기치 못한 트래픽 급증이나 DDoS 공격 상황에서도 핵심 서비스의 성능을 안정적으로 유지할 수 있게 되었습니다. ### 정적 QPS 제한의 한계와 자원 인식형 제어(RARC)의 도입 기존의 단순 QPS 제한 방식은 요청의 복잡도와 상관없이 동일한 할당량을 차감했기에 효율적인 자원 관리가 불가능했습니다. * **비용 가변성 해결**: 단일 행 조회와 수만 행의 스캔 작업을 동일하게 취급하던 문제를 해결하기 위해, 행 수, 바이트 크기, 대기 시간(latency)을 결합한 '요청 단위(RU, Request Unit)' 개념을 도입했습니다. * **RU 계산 모델**: 읽기 비용은 $1 + w_r \times \text{읽은 바이트} + w_l \times \text{대기 시간}$과 같은 선형 모델을 통해 산출되며, 이는 하드웨어 리소스(CPU, I/O)에 가해지는 실제 부하를 더 정확하게 반영합니다. * **토큰 버킷 알고리즘**: 각 디스패처(Dispatcher)는 짧은 에포크(Epoch)마다 할당된 RU를 로컬 토큰 버킷에 채우고, 요청마다 실시간으로 계산된 비용을 차감하여 할당량 초과 시 즉각적으로 요청을 거부합니다. ### 지연 시간 비율 기반의 적응형 부하 차단 트래픽이 급격히 변하거나 특정 샤드에 병목이 발생할 때, 시스템 전체의 붕괴를 막기 위해 실시간 신호를 기반으로 한 부하 차단 메커니즘을 운용합니다. * **지연 시간 비율(Latency Ratio) 활용**: '장기 p95 지연 시간'을 '단기 p95 지연 시간'으로 나눈 비율을 시스템 스트레스 지표로 사용합니다. 이 비율이 설정값(예: 0.3) 이하로 떨어지면 시스템 부하가 급증한 것으로 판단합니다. * **임계치 기반의 단계적 대응**: 시스템 스트레스가 감지되면 낮은 우선순위의 클라이언트 그룹부터 RU 비용을 가중해 부과함으로써 자연스럽게 트래픽 백프레셔(Backpressure)를 유도합니다. * **P² 알고리즘 적용**: 고정된 메모리 내에서 대기 시간의 백분위수(Percentile)를 추정하는 P² 알고리즘을 사용하여, 별도의 샘플 저장소나 노드 간 통신 없이도 개별 디스패처가 신속하게 의사결정을 내릴 수 있습니다. ### 데이터 접근 패턴 최적화 및 안정성 확보 단순히 요청을 차단하는 것을 넘어, 데이터 접근의 불균형으로 인한 병목 현상을 해결하는 메커니즘을 포함합니다. * **핫키(Hot-key) 탐지 및 완화**: 특정 키에 대한 요청이 집중되는 패턴을 실시간으로 감지하여, 백엔드 저장소에 도달하기 전 캐싱하거나 중복 요청을 하나로 합치는(Coalescing) 방식으로 저장소 계층을 보호합니다. * **트래픽 분리 및 고립**: 특정 클라이언트의 데이터 패턴으로 인해 발생한 병목이 전체 클러스터로 전이되지 않도록 격리 수준을 높여 다중 사용자(Multi-tenant) 환경의 안정성을 강화했습니다. 멀티 테넌트 환경의 대규모 시스템을 운영한다면 단순한 횟수 기반의 제한보다는 자원 소비량을 기반으로 한 RU 모델과 시스템 상태에 반응하는 적응형 부하 차단 전략을 도입하는 것이 서비스 가용성 확보에 훨씬 유리합니다.

discord3분 읽기큐레이션 요약

디스코드 패치 노트: 2025년 10월 7일

Discord의 2025년 10월 7일 패치 노트는 데스크톱 업데이트 방식, Quick Switcher, iOS 알림, 서버별 Nameplate 설정 등 사용성 개선을 중심으로 한다. 또한 Shop 검색·필터, 모바일 내비게이션, Overlay, 채팅 UI와 메시지 표시 문제를 포함해 다양한 플랫폼별 버그를 수정했다. 모든 수정 사항은 코드에 반영됐지만 플랫폼별 배포는 단계적으로 진행될 수 있다. ## 업데이트와 개인화 기능 개선 - Windows 데스크톱 클라이언트의 자동 업데이트를 완화했다. - 필수 업데이트로 지정되거나 여러 버전 뒤처진 경우에만 자동 업데이트한다. - 사용자는 우측 상단의 초록색 화살표를 눌러 수동으로 즉시 업데이트할 수 있다. - Quick Switcher 검색 결과에 사용자의 온라인 상태를 표시한다. - DM을 열지 않고도 상대방의 접속 상태를 확인할 수 있다. - 서버별 닉네임을 사용하는 사용자를 검색할 때의 안정성도 개선했다. - iOS에서 다른 기기에서 읽은 알림이 제대로 사라지지 않던 문제를 수정했다. - 일부 특수한 상황에서는 문제가 남을 수 있지만, 다음 앱 실행 시 불필요한 알림을 정리한다. - 서버마다 서로 다른 Nameplate를 설정할 수 있게 됐다. - 모든 서버에 동일한 Nameplate를 적용해야 했던 제한을 해소했다. - Shop에 검색 및 필터 기능을 추가해 수집품을 빠르게 찾을 수 있도록 했다. ## 일반 UI와 플랫폼 버그 수정 - 게임 내 Overlay를 닫은 뒤 게임으로 포커스가 정상적으로 돌아오도록 수정했다. - 서버 목록의 위치가 조금씩 위로 이동하던 “New” 배지 문제를 해결했다. - Nitro Home, Overlay 메뉴와 툴팁의 테마·테두리·투명도 일관성을 개선했다. - 데스크톱에서 업데이트 중 빈 창이 표시되거나 Home 화면의 배지를 닫을 수 없던 문제를 수정했다. - iOS에서 뒤로 가기 시 빈 화면이 나타나거나 설정 화면의 검색창이 부자연스럽게 표시되던 문제를 해결했다. - Android에서 서버 초대 링크가 중복 표시되거나 채널 유형을 잘못 참조하던 문제를 수정했다. - `discord.gg/invite` 링크가 iOS와 Android에서 올바르게 연결되도록 개선했다. - macOS 제목 표시줄의 트래픽 라이트 버튼이 항상 올바르게 렌더링되도록 수정했다. - 서버 Onboarding 질문 삭제, 서버 설명 글자 수 제한, MFA 모달 버튼의 불필요한 말줄임 문제를 해결했다. - 서버 설정에서 키보드 탐색이 App Directory로 잘못 이동하던 문제를 수정했다. - 포럼 채널의 정렬·보기 화면, 채널 상세 화면의 탭 전환 및 헤더·검색 버튼 동작을 개선했다. - 권한이 없는 사용자가 이모지 선택기를 사용하거나 채널 주제를 수정하려 할 때의 동작과 오류 메시지를 정리했다. - 서버 인원 제한에 도달한 사용자가 이미 가입한 서버의 초대 링크를 통해 활동이나 이벤트에 참여하지 못하던 문제를 수정했다. - Overlay 음성 위젯의 패딩, 표시·숨김 애니메이션, 설정 메뉴를 닫은 뒤 위젯이 사라지는 문제를 해결했다. - Shop 검색 안내 문구의 대소문자 오류와 오래된 Nitro 로고 등 시각적 세부 사항을 정리했다. ## 채팅 및 메시지 표시 안정성 - 프로필 모달에서 보낸 DM이 채팅 화면과 기록에 항상 표시되도록 수정했다. - iOS에서 답장 미리보기의 이모지가 겹치거나, 키보드를 닫은 뒤 “최신 메시지로 이동” 버튼 위치가 어긋나는 문제를 해결했다. - Android에서 스포일러 태그를 눌러 내용을 표시할 수 없던 회귀 버그를 수정했다. - 같은 채널로 이동했다가 돌아올 때 스크롤 위치가 초기화되는 문제를 해결했다. - 데스크톱 채팅 기록을 볼 때 입력 중 표시가 메시지 텍스트 위에 겹치는 문제를 수정했다. - iOS에서 링크를 붙여넣을 때 메시지 입력창이 키보드 아래로 밀리는 현상을 해결했다. - 스레드의 첫 메시지에 적용되는 글자 수 제한 UX를 개선했다. - 읽지 않은 메시지 알림 영역에 빈 배너가 표시되던 문제를 수정했다. - 느린 모드 안내 문구, 답장 미리보기, 메시지 입력창 등 채팅 UI의 정렬과 표시 오류를 정리했다. 이번 패치는 새로운 대규모 기능보다 업데이트 강제성 완화, 검색·개인화 기능 추가, 모바일·Overlay·채팅의 잔여 버그 제거에 초점을 맞췄다. Discord 사용자는 Shop 검색, 서버별 Nameplate, Quick Switcher의 온라인 상태 표시를 즉시 활용하고, 일부 수정 사항은 플랫폼별 순차 배포를 기다리면 된다.

원문 읽기(새 탭에서 열림)
discord4분 읽기큐레이션 요약

단일 노드에서 멀티 GPU

Discord는 ML 모델과 데이터 규모가 커지면서 단일 머신으로는 학습·추론을 감당하기 어려워지자 Ray 기반의 분산 컴퓨팅 플랫폼을 구축했다. 핵심은 Ray 자체보다 CLI, Dagster·KubeRay 오케스트레이션, X-Ray 관측성 도구를 결합해 분산 ML의 사용성을 높인 데 있다. 그 결과 엔지니어들은 복잡한 Kubernetes·GPU 설정 없이 멀티 GPU 작업을 실행할 수 있었고, Ads Ranking 모델은 매일 재학습되는 프로덕션 딥러닝 파이프라인으로 발전했다. ## 단일 노드 ML의 확장 한계 - 모델이 단순 분류기에서 대규모 모델로 발전하고 데이터셋도 커지면서 단일 머신에 담기 어려운 작업이 늘어났다. - 일부 학습 작업은 여러 GPU를 필요로 했고, 기존 인프라보다 빠른 연산 능력과 분산 학습이 요구됐다. - Discord는 오픈소스 분산 컴퓨팅 프레임워크인 **Ray**를 기반으로 선택했지만, 프레임워크만 도입해서는 충분하지 않다고 판단했다. - 실제 목표는 분산 ML을 소수의 인프라 전문가가 아니라 일반 ML 엔지니어도 쉽게 사용할 수 있게 만드는 것이었다. ## 수작업 Ray 클러스터의 문제 - 초기에는 엔지니어들이 오픈소스 문서를 참고해 각자 Ray 클러스터를 직접 구성했다. - 팀마다 클러스터 설정과 리소스 관리 방식이 달라 표준화가 어려웠다. - 작업 스케줄링, 모니터링, 클러스터 운영을 위한 공통 기능도 부족했다. - 결국 각 팀이 동일한 인프라 문제를 반복해서 해결하고 있었고, Discord 내부에 Ray 플랫폼이 필요해졌다. ## YAML 대신 단일 CLI 명령 - Discord는 GPU 종류, 워커 수, 메모리 등 필요한 리소스를 인자로 받는 **매개변수화된 단일 템플릿**을 만들었다. - CLI가 실행 시점에 전체 Kubernetes 클러스터 사양과 보안 설정을 생성하도록 했다. - 엔지니어는 복잡한 YAML 파일을 직접 작성하지 않고 자신의 요구에 맞는 멀티 GPU 클러스터를 한 번의 명령으로 생성할 수 있다. - CLI는 클러스터 생성부터 작업 실행, 삭제까지 전체 생명주기를 관리한다. - 이를 통해 다음 효과를 얻었다. - 팀 간 클러스터 설정의 일관성 확보 - 하드웨어 역량에 맞는 리소스 요청 - YAML 디버깅 부담 감소 - 엔지니어별 맞춤형 클러스터 제공 ## Dagster·KubeRay·Ray 기반 오케스트레이션 Discord는 일회성 실험을 정기적이고 재현 가능한 작업으로 전환하기 위해 세 가지 도구를 결합했다. - **Dagster** - 워크플로, 설정, 의존성을 정의한다. - 모델명, 데이터셋 기간, GPU 풀 등의 구조화된 설정을 사용한다. - 스키마 검증과 기본값을 제공해 필수 파라미터 누락으로 인한 실패를 줄인다. - UI 또는 예약 실행을 통해 학습 파이프라인을 시작할 수 있다. - **KubeRay** - Kubernetes에서 Ray 클러스터를 동적으로 생성한다. - 적절한 네임스페이스, 서비스 계정, GPU 노드 풀을 연결한다. - CLI와 동일한 내부 설정 로직을 사용한다. - **Ray** - 생성된 클러스터에서 학습, 평가, 배치 추론 작업을 여러 GPU에 분산 실행한다. 작업 흐름은 다음과 같다. 1. 엔지니어가 Dagster에서 파이프라인을 실행하거나 예약한다. 2. Dagster가 Ray Job Operator에 작업 사양을 전달한다. 3. KubeRay가 적절한 Kubernetes 환경에 Ray 클러스터를 생성한다. 4. Ray가 여러 GPU에 학습 작업을 분배한다. 5. 로그와 메트릭이 Dagster 및 모니터링 시스템으로 전달된다. 이 구조는 버전 관리된 설정을 통한 **예측 가능성**, 파이프라인과 인프라 리소스를 함께 정의하는 **재현성**, SSH 없이 로그와 클러스터 상태를 확인하는 **가시성**을 제공한다. 대표적으로 GPU 사용량이 큰 광고 관련성 모델은 엔지니어가 클러스터 설정을 직접 수정하지 않아도 매일 학습할 수 있게 됐다. ## X-Ray를 통한 통합 관측성 - Ray 사용량이 늘면서 여러 클러스터의 상태를 한곳에서 확인할 필요가 생겼다. - Discord는 **X-Ray**라는 중앙 웹 UI를 구축했다. - X-Ray에서 다음 정보를 실시간으로 확인할 수 있다. - 실행 중인 Ray 클러스터 - 클러스터 소유자 - 머신 및 GPU 종류 - 클러스터 상태 - 관련 대시보드 - 엔지니어는 X-Ray에서 실험용 인터랙티브 노트북도 시작할 수 있어 운영과 실험 환경을 한 인터페이스에서 관리할 수 있다. ## Ads Ranking의 프로덕션 성과 - Ads Ranking은 사용자가 어떤 Quest 광고에 관심을 가질지 결정하는 모델이다. - 도입 전에는 주로 XGBoost를 사용했으며, 기존 인프라에는 다음 기능이 없었다. - 데이터 및 모델 샤딩 - 멀티 GPU 학습 - 필요한 주기의 대규모 재학습 - Ray 도입 후 Ads Ranking은 샤딩된 신경망을 멀티 GPU 클러스터에서 학습하게 됐다. - 성과는 다음과 같다. - Quest 참여 사용자 수 2배 증가 - 광고 트래픽 적용 범위가 약 40%에서 거의 100%로 확대 - 매일 재학습하고 새 버전을 지속적으로 배포하는 프로덕션 딥러닝 파이프라인 구축 - 비즈니스 지표 약 200% 개선 ## 실용적인 시사점 분산 ML 도입에서는 Ray 같은 실행 엔진만 선택하는 것보다, 표준화된 CLI, 선언적 오케스트레이션, 자동화된 클러스터 프로비저닝, 통합 관측성을 함께 제공하는 것이 중요하다. 특히 엔지니어가 인프라 세부사항 대신 모델과 데이터 문제에 집중하도록 만드는 개발자 경험이 분산 시스템의 실제 채택과 운영 성과를 좌우한다.

원문 읽기(새 탭에서 열림)
google원문

XR Blocks: AI + XR 혁신 (새 탭에서 열림)

Google XR 팀이 공개한 **XR Blocks**는 인공지능(AI)과 확장 현실(XR) 기술의 결합을 가속화하기 위한 오픈 소스 프레임워크로, 몰입형 지능형 컴퓨팅 환경을 구축하는 데 따르는 기술적 장벽을 낮추기 위해 설계되었습니다. 기존의 XR 개발이 인지, 렌더링, 상호작용 시스템을 수동으로 통합해야 하는 고마찰 과정이었다면, XR Blocks는 이를 모듈화된 '플러그 앤 플레이' 방식으로 전환하여 창작자가 복잡한 하위 시스템 구현 대신 사용자 경험 설계에 집중할 수 있게 합니다. 이 프레임워크는 WebXR, three.js, LiteRT, Gemini 등 접근성 높은 기술을 기반으로 하며, 데스크톱 시뮬레이터와 Android XR 기기 모두에서 작동하는 범용성을 갖추고 있습니다. **창작자 중심의 설계 원칙** * **단순성과 가독성:** Python의 철학(Zen of Python)에서 영감을 받아, 개발자의 스크립트가 마치 고수준의 경험을 묘사하는 문장처럼 읽힐 수 있도록 깨끗하고 직관적인 추상화를 제공합니다. * **창작자 경험 우선:** 센서 데이터 융합이나 AI 모델 통합과 같은 복잡한 '하위 배관 작업'에 시간을 허비하지 않고, 지능적이고 인지적인 XR 애플리케이션의 핵심 로직 개발에만 몰입할 수 있는 환경을 조성합니다. * **실용적 유연성:** 기술의 빠른 변화에 대응하기 위해 완벽한 단일 체계를 지향하기보다, 모듈화되고 적응력 높은 아키텍처를 채택하여 다양한 기기와 환경에서 유연하게 작동하도록 했습니다. **리얼리티 모델과 추상화 계층** * **Script와 실행의 분리:** 상호작용의 내용(What)을 정의하는 'Script'와 이를 저수준에서 구현하는 방식(How)을 분리하여 시스템의 복잡도를 관리합니다. * **사용자 및 물리 세계 인지:** 손의 움직임, 시선(Gaze), 아바타와 같은 사용자 요소와 깊이 맵(Depth), 조명 추정, 객체 인식 등 물리적 환경 정보를 손쉽게 쿼리하고 활용할 수 있습니다. * **AI 및 지능형 에이전트 통합:** 가상 인터페이스(UI)뿐만 아니라 맥락을 이해하고 능동적으로 제안을 수행하는 'Sensible Agent'와 같은 AI 기능을 프레임워크 내에서 직접 구현할 수 있습니다. **실제 적용 사례 및 가치** * **XR 리얼리티 가속화:** 깊이 인식과 물리 기반 상호작용을 시뮬레이션 환경에서 프로토타이핑하고, 동일한 코드를 실제 XR 기기에 즉시 배포하여 개발 사이클을 단축할 수 있습니다. * **맞춤형 상호작용 설계:** 사용자 정의 제스처 모델을 데스크톱 시뮬레이터와 온디바이스 XR 환경에 원활하게 통합하여 독창적인 인터랙션을 실험할 수 있습니다. 이 프레임워크는 아이디어를 인터랙티브한 프로토타입으로 빠르게 전환하고자 하는 개발자와 연구자들에게 강력한 도구가 될 것입니다. 특히 웹 기반 기술을 활용하므로 높은 접근성을 제공하며, Android XR 생태계와의 호환성을 통해 차세대 AI+XR 애플리케이션 개발의 표준적인 출발점을 제시합니다.

figma3분 읽기큐레이션 요약

Figma Make와 함께 디자인

Figma Make는 자연어 프롬프트와 기존 디자인을 바탕으로 작동하는 고충실도 프로토타입을 만들어, 아이디어를 빠르게 검증하고 공유하도록 돕는다. 글은 Maven Clinic, Pendo, ServiceNow, LinkedIn의 사례를 통해 디자인팀이 보류된 아이디어를 되살리고, 새로운 방향을 탐색하며, 협업하고, 디자인 시스템의 일관성을 유지하는 방법을 소개한다. 핵심은 디자이너가 반복적인 제작보다 문제 정의와 전략, 사용자 경험의 완성도에 더 집중하게 된다는 점이다. ## Figma Make가 디자인 탐색을 바꾸는 방식 - Figma Make는 프롬프트를 입력해 앱과 인터페이스를 생성하는 도구다. - 초기 아이디어를 단순한 목업이 아니라 직접 조작할 수 있는 프로토타입으로 발전시킨다. - 프로토타입을 통해 팀은 기능의 타당성, 사용자 흐름, 마이크로인터랙션을 더 빠르게 검토할 수 있다. - 디자인팀은 반복적인 레이아웃 제작과 프로토타이핑에 쓰는 시간을 줄이고, 취향·전략·비전에 집중할 수 있다. - Figma Make에서 만든 결과물을 Figma Design 캔버스로 복사해 세부 수정과 반복 작업을 이어갈 수 있다. ## 보류된 아이디어를 제품 로드맵으로 되돌리기 Maven Clinic은 난임 클리닉을 지도에서 찾는 기능을 출시 일정 때문에 보류했지만, Figma Make로 기능의 가능성을 설득할 수 있는 인터랙티브 프로토타입을 제작했다. - 초기 디자인을 Figma Make에 입력해 실제 제품처럼 보이고 작동하는 고충실도 프로토타입을 만들었다. - 완성도 높은 결과물이 Slack에서 널리 공유되고 CEO의 관심을 이끌어내면서, 우선순위에서 밀릴 수 있었던 기능을 다시 로드맵에 올렸다. - 다른 디자이너가 결과물을 수정한 뒤 Figma Make로 되돌리는 방식으로 디자인을 반복 개선했다. - 정적인 목업으로는 발견하기 어려운 마이크로인터랙션과 사용 흐름의 문제를 조기에 파악했다. - 팀은 “0에서 시작”하는 대신 어느 정도 구현된 상태에서 출발했고, 그 결과 클리닉 파인더 MVP를 4개 미만의 스프린트로 설계·개발·테스트·출시했다. - 2년 동안 백로그에 머물던 아이디어를 빠르게 검증 가능한 제품으로 전환한 사례다. ## 탐색과 협업을 위한 공통 활용 방향 글은 다음과 같은 네 가지 활용 방향을 제시한다. - **로드맵에 아이디어 되살리기**: 인터랙티브 프로토타입으로 이해관계자의 관심과 투자 결정을 이끌어낸다. - **미지의 영역을 탐색하기**: 여러 디자인 방향을 짧은 시간 안에 시도해 빈 캔버스에서 시작하는 부담을 줄인다. - **새로운 인터페이스를 함께 개선하기**: 디자이너와 제품·개발 등 다른 직군이 실제로 조작 가능한 결과물을 보며 구체적인 피드백을 주고받는다. - **초기 탐색에 디자인 시스템 반영하기**: 빠르게 만든 시안도 기존 제품의 시각 언어와 컴포넌트 체계를 유지해, 탐색과 일관성을 동시에 확보한다. ## 프로토타입이 PRD보다 먼저 올 수 있다 - Maven Clinic 사례에서는 프로토타입을 먼저 만든 뒤, 실제로 잘 작동한 부분과 부족한 부분을 바탕으로 제품 요구사항 문서(PRD)를 작성했다. - Figma Make 결과물은 추상적인 요구사항을 구체적인 사용자 흐름으로 바꿔준다. - 팀은 “무엇을 만들 것인가”뿐 아니라 “어떤 상호작용이 필요한가”, “어디서 사용성이 떨어지는가”를 초기에 논의할 수 있다. - 따라서 프로토타입이 요구사항을 검증하는 산출물을 넘어, 요구사항 자체를 구체화하는 출발점이 될 수 있다. ## 디자이너의 역할 변화 Figma Make는 디자이너의 역할을 실행 중심에서 판단과 방향 설정 중심으로 이동시킨다. - 반복적인 화면 제작보다 다양한 가능성을 빠르게 비교한다. - 팀의 논의를 시각적이고 조작 가능한 결과물로 전환한다. - 초기 단계에서 사용자 경험과 세부 상호작용을 검증한다. - 최종적으로는 생성된 결과물을 그대로 사용하는 것이 아니라, 디자이너의 취향과 전략적 판단으로 다듬는다. 실무에서는 Figma Make를 완성품 생성 도구로 보기보다, 아이디어를 빠르게 구체화하고 팀의 피드백을 모으는 탐색 도구로 활용하는 것이 효과적이다. 특히 장기간 보류된 기능이나 이해관계자의 동의를 얻기 어려운 아이디어를 실제로 경험 가능한 프로토타입으로 만들어 검증하는 데 유용하다.

원문 읽기(새 탭에서 열림)
slack4분 읽기큐레이션 요약

안전한 배포: 변경

Slack은 고객 영향의 대부분(73%)이 배포를 비롯한 Slack 내부 변경에서 발생한다는 분석을 바탕으로 Deploy Safety Program을 시작했다. 이 프로그램은 자동 감지·복구, 영향 범위 제한, 안전장치와 문화 개선을 통해 고객 영향 시간을 줄이는 것을 목표로 했으며, 2025년 1월에는 정점 대비 고객 영향 시간이 90% 감소했다. 핵심은 특정 배포 시스템만 엄격하게 관리하는 대신, 모든 배포 방식에 반복 적용 가능한 안전 패턴을 구축하면서 개발 속도도 유지하는 것이다. ## 변화가 안정성에 미치는 영향 - Slack이 고객 업무에서 더욱 중요한 제품이 되면서 안정성에 대한 기대 수준이 높아졌다. - 고객 대상 장애의 73%가 Slack 내부 변경으로 발생했으며, 특히 코드 배포가 주요 원인이었다. - 장애 영향은 시스템마다 달랐고, 고객이 사용하는 기능에 따라 피해 정도도 달라졌다. - Slack에는 수백 개의 내부 서비스와 여러 배포 시스템이 있어, 단일한 배포 방식만 개선해서는 문제를 해결하기 어려웠다. - 기존에는 개별 서비스나 배포 시스템에 수동 절차를 추가하는 방식이 많았지만, 이는 개발 속도와 엔지니어링 사기를 떨어뜨렸다. - 고객은 약 10분을 넘는 중단을 단순한 “일시적 문제”가 아닌 심각한 장애로 인식하는 경향이 있었다. ## Deploy Safety의 목표 초기에는 중요도가 높은 서비스 전체를 대상으로 다음과 같은 North Star 목표를 세웠다. - 배포로 인한 영향 시간 단축 - 자동 감지 및 복구: 10분 이내 - 수동 감지 및 복구: 20분 이내 - 영향 심각도 감소 - 전체 플릿의 10%에 도달하기 전에 문제가 있는 배포 감지 - 개발 속도 유지 - 안정성을 높이되 변화와 혁신의 속도를 희생하지 않음 이 목표는 이후 모든 배포 시스템과 프로세스에 적용되는 Deploy Safety Manifesto로 확장됐다. 단순한 운영 절차가 아니라 자동화, 배포 안전장치, 조직 문화의 변화를 함께 추진한 것이 특징이다. ## 고객 영향 시간을 측정하는 지표 Slack은 프로그램의 성과를 측정하기 위해 다음 지표를 정의했다. - **고심각도 및 일부 중간 심각도 변경 유발 장애로 인한 고객 영향 시간** - 장애 심각도는 현재 또는 예상되는 고객 영향을 나타내지만, 실제 최종 영향과 항상 일치하지는 않는다. - 따라서 중간 심각도 장애는 실제 고객 영향 수준을 기준으로 별도 선별해야 했다. - 이 지표는 고객 감정을 직접 측정하는 값이 아니라, 고객 경험을 추정하는 실용적인 대리 지표다. Slack은 다음 세 요소 사이의 연결이 완벽하지 않다는 점도 인정한다. - 고객의 실제 만족도 - Deploy Safety 프로그램 지표 - 개별 프로젝트 지표 따라서 지표를 설계할 때 결과를 측정할 수 있는지, 무엇을 측정하는지 명확한지, 주관적 판단이 일관적인지, 실제 고객 피드백과 계속 비교되는지를 중요하게 봤다. ## 투자할 프로젝트를 고르는 방법 프로그램 초기에는 어떤 프로젝트가 가장 큰 효과를 낼지, 효과가 언제 나타날지 알기 어려웠다. 장애 데이터는 과거 결과를 보여주는 후행 데이터였지만 고객은 이미 현재 문제를 겪고 있었기 때문이다. 이에 따라 Slack은 다음과 같은 투자 전략을 사용했다. - 초기에는 여러 영역에 폭넓게 투자하고 빠르게 실행 - 이미 고객 피해가 확인된 영역을 우선 개선 - 성과가 확인된 프로젝트와 패턴에 추가 투자 - 효과가 낮은 영역의 투자는 축소 - 결과에 따라 바뀔 수 있는 짧고 유연한 로드맵 운영 프로젝트는 주로 다음 중 하나 이상의 목표에 기여하도록 설계했다. - 배포 과정에서 문제를 더 일찍 감지 - 자동 복구 시간 단축 - 수동 복구 시간 단축 - 격리 경계를 설계해 장애의 확산 범위와 심각도 축소 ## Webapp 배포 개선 사례 변경 유발 장애의 가장 큰 원인으로 Webapp backend가 지목되면서 단계적인 개선이 진행됐다. - 자동 메트릭 모니터링 구축 - 자동 알림과 수동 롤백으로 고객 영향 여부 검증 - 자동 배포 및 자동 롤백 도입 - 자동 롤백을 통해 고객 영향 시간을 10분 이하로 유지하는 성과 확인 - 추가 메트릭 모니터링과 수동 롤백 최적화 - Frontend 수동 롤백 기능 추가 - 중앙 집중식 배포 오케스트레이션 시스템으로 패턴 확대 - Slack Bedrock과 Kubernetes를 넘어 여러 배포 시스템에 메트릭 기반 배포와 자동 복구 적용 이 과정을 통해 Webapp backend와 frontend, 일부 인프라 배포가 훨씬 안전해졌으며 분기별로 계속 개선되는 결과를 보였다. ## 반복 가능한 안전 패턴 Slack의 접근 방식은 처음부터 완벽한 시스템을 설계하는 것이 아니었다. - 문제를 해결할 수 있는 작은 프로젝트를 먼저 시도 - 실제 고객 영향과 지표 변화를 통해 효과 검증 - 성공한 방식을 다른 서비스와 배포 시스템에 복제 - 결과가 낮은 영역은 투자를 줄이고 새로운 접근을 시도 즉, Deploy Safety는 하나의 도구나 배포 시스템을 도입하는 프로젝트가 아니라, 측정과 실험을 반복해 조직 전체에 안전한 변경 방식을 확산하는 프로그램이다. 실무적으로는 모든 배포를 수동 승인으로 막기보다, 고객 영향과 직접 연결된 메트릭을 기반으로 조기 감지·자동 롤백·영향 범위 제한을 구축하는 것이 효과적이다. 또한 안정성 지표를 정기적으로 실제 고객 피드백과 비교하고, 효과가 입증된 안전 패턴을 다른 시스템에 재사용해야 개발 속도와 안정성을 함께 확보할 수 있다.

원문 읽기(새 탭에서 열림)