데이터 반출 없는 다기관 연합 인공지능 학습 플랫폼

전체 글 201

DistilBERT + KorQuAD MLM 훈련 소요 시간 비교 (RTX 4090, T4, A100)

개요BERT 계열 언어 모델 중 하나인 DistilBERT(논문)로 미세 조정 훈련을 수행할 때 NVIDIA GPU 모델에 따라 훈련에 걸리는 시간이 어떻게 달라지는지 궁금했습니다. 실험에 사용한 모델과 데이터셋은 다음과 같습니다.기본 모델: distilbert-base-multilingual-cased데이터셋: KorQuAD 1.0미세 조정 훈련은 아래의 작업을 목표로 하였습니다.Masked Language Model (MLM) (참고: Fine-tuning a masked language model)GPU 모델 사양훈련 소요 시간 비교를 위해 사용한 NVIDIA GPU 모델은 아래 표와 같습니다.GPU 모델RTX 4090T4A100 (40GB 기준)CUDA 코어 수16,384개2,560개6,912개T..

선형 회귀 분석의 이해

1. 회귀 분석이란?회귀 분석(Regression Analysis)은 변수들 사이의 관계를 모델링하는 통계적 방법입니다. 가장 단순한 예로, '집의 크기'를 알 때 '집의 가격'을 예측하는 모델을 만들 수 있습니다. 이처럼 하나의 변수(독립 변수)를 사용하여 다른 변수(종속 변수)의 값을 예측하는 것이 회귀 분석의 핵심입니다. ​회귀 분석 과정은 다음 세 단계로 요약할 수 있습니다.데이터 준비: 예측 모델을 학습시키기 위한 훈련 데이터 세트 $(x, y)$를 준비합니다. 여기서 $x$는 예측에 사용될 독립 변수이고, $y$는 예측하고자 하는 종속 변수입니다.모델 학습: 훈련 데이터를 가장 잘 표현하는 수학적 모델을 정의하고, 데이터에 가장 근접한 예측을 하는 최적의 파라미터(parameter)를 찾습니다..

회귀(Regression)라는 용어를 쉽게 설명하기

조별 단체 식사 준비와 회귀 현상 발생조별 단체 식사 준비 상황을 예로 들어 회귀라는 용어에 대해 설명합니다. 그리고 회귀라는 용어가 어렵게 느껴지는 이유는 무엇이며 어떻게 하면 쉽게 받아들여질 수 있는지도 살펴봅니다. 100명 정도의 인원이 매주 일요일 함께 모여 점심 식사를 합니다. 조를 짜서 식사를 준비하는 상황에서 일어나는 현상을 통해 회귀라는 용어가 무엇을 의미하는지 설명합니다.10개 조가 조별로 두 주 연속으로 일요일 단체 점심 식사를 준비한다.한 끼 점심 식사 준비를 위해 지원받는 비용은 15만원이다. 이보다 덜 쓰면 반납하고 더 쓰면 조에서 부담한다.오늘 점심 식사를 준비한 조에 대한 칭찬이 자자하다. 최근 들어 식사에 대한 만족도가 높아지고 있다는 생각이 든다.내가 속한 조에서는 몇 주 ..

SecAgg+ 프로토콜에서 악의적인 서버의 공격 시나리오

클라이언트별로 다른 조작된 이탈 목록을 보냄으로써 특정 온라인 상태의 클라이언트를 대상으로 모델 원본 파라미터를 복원하는 것이 가능한가? 만약 프로토콜에 추가적인 안전장치가 없다면, 이러한 공격은 실제로 가능하며 특정 클라이언트의 모델 원본을 복원할 수 있습니다.이 공격은 '선택적 참여자 목록 공격(Selective Client List Attack)'이라고 볼 수 있으며, 악의적인 서버(Malicious Server)가 시도할 수 있는 대표적인 공격 시나리오입니다.악의적인 서버의 공격 시나리오서버가 온라인 상태인 클라이언트 $u$의 모델 $x_u$를 탈취하려고 한다고 가정해 보겠습니다. 이 서버는 또 다른 온라인 클라이언트 $v$를 이 공격에 이용합니다.서버의 이중 플레이: 서버는 $u$와 $v$에게 ..

SecAgg+ 프로토콜에서 서버와 클라이언트 간 상태 확인 절차

클라이언트는 다른 클라이언트의 상태를 알아야만 올바른 키를 서버에 전송할 수 있습니다. 이는 SecAgg+ 프로토콜의 중요한 단계이며, 서버가 중앙에서 조정자(Coordinator) 역할을 수행함으로써 가능해집니다. 클라이언트가 서로의 상태를 직접 확인하는 것이 아니라, 서버가 상태를 판별하고 그 결과를 온라인 클라이언트들에게 알려주는 방식으로 동작합니다.서버와 클라이언트 간 상태 확인 절차프로토콜의 '이탈자 처리' 단계는 다음과 같은 명확한 순서로 진행됩니다.1단계: 마스킹된 값 제출 및 대기모든 클라이언트는 자신의 마스킹된 모델 업데이트($y_u$)를 서버에 전송합니다. 서버는 정해진 시간 동안 클라이언트들의 제출을 기다립니다.2단계: 서버의 상태 판별 및 목록 생성제출 시간이 마감되면, 서버는 성공..