전체 글 97

PEFT : Parameter Efficient Fine-Tuning

거대모델은 pretrained 모델을 파인튜닝하는데 리소스가 많이 소요됩니다따라서 일부 파라미터만 파인튜닝합니다 또한 N개의 task별로 N개의 모델이 존재한다면 효율적이지 못합니다대부분의 파라미터는 유지한채로, 변경되는 부분만 바꾼다면 리소스를 효율적으로 사용할 수 있습니다 AdapterParameter-Efficient Transfer Learning for NLP : 2019https://arxiv.org/pdf/1902.00751 Task별로 adapter부분만 fine tuning합니다아래와 같이 단순히 맨 마지막 layer만 fine tuning 할때보다 더 성능이 좋습니다하지만 inference에서 추가적인 adapter에 따른 latency가 있습니다BitFithttps://arxiv.or..

DynamicViT: Efficient Vision Transformers with Dynamic Token Sparsification

Overview https://arxiv.org/pdf/2106.02034 DynamicViT는 토큰 사이즈를 줄여 네트워크를 효율화하는 방식입니다각 이미지패치가 결과에 어느정도의 영향을 주는지 파악하는 MLP를 만들어 영향이 적은 패치를 사용하지 않도록 합니다 MethodologyPrediction Module$\hat{D} \in (0,1)^N$N : number of TokenC : size of token D는 현재 이미지 패치가 마스킹된 결과값입니다 $\textbf{z}^{local} = MLP(\textbf{x}) \in \mathbb{R}^{N \times C'}$C' = C/2$\textbf{z}^{global} = Agg(\textbf{z}^{local},\hat{D}) \in \mat..

인공지능 2025.05.18

Kernel Ridge Regression

Ridge Regression$\underset{\beta}{min} ||Y-\beta X|| +\lambda ||\beta||^2$기존의 regression식에 정규화를 더한다정규화 수식은 베타가 작은 값을 유지하게 만든다베타가 작아지면 작은 x의 변화로 y가 크게 변하지 않는다이를 통해 오버피팅을 방지한다 Kernel Ridge RegressionPrimal Formlinear한 수식이 아닌 일반적인 식에 대해 생각해보자 $y = \phi(x)$$\underset {\omega}{min} ||Y - \Phi \omega|| + \lambda ||\omega||^2$(Y는 1*n 벡터입니다)$\Phi \in \mathbb{R}^{n \times D}$$\omega \in \mathbb{R}^{D}$n은..

인공지능 2025.05.06

Dataset Distillation

https://arxiv.org/pdf/1811.10959 Introductiondataset으로부터 가짜이미지를 만들어 적은 이미지로도 모델을 학습합니다특정 label(plane)을 attack하는 이미지를 만들어 gradient step하나만 돌려 모델의 정확도를 낮출 수도 있습니다 Approach$\theta_1 = \theta_0 - \tilde{\eta} \nabla_{\theta_0} \ell(\tilde{\mathbf{x}}, \theta_0) $ : weight는 가짜 데이터 (synthetic data)로만 학습됩니다$\tilde{\mathbf{x}}^*, \tilde{\eta}^* = \arg\min_{\tilde{\mathbf{x}}, \tilde{\eta}} \mathcal{L}(\..

인공지능 2025.05.01

모델 경량화 프루닝 (Pruning) - Structured

Structured PruningUnstructured Pruning은 모델의 구조를 바꾸는 것이 아니라 특정 weight의 value만 0으로 만드는 것이기 때문에 실질적으로 경량화를 하기 힘듭니다. 여전히 모델의 파라미터수는 똑같습니다.이를 극복한 것이 Structured Pruning입니다모델의 채널수(필터수)를 줄이면 줄어든 채널수만큼 모델이 경량화됩니다  Method1 : Lassohttps://arxiv.org/pdf/1707.06168 목적은 가장 중요도가 높은 채널 top $c'$을 찾는 것입니다. 그리고 없어진 채널만큼 weight가 보상해주어야 합니다 (fine tuning같은 개념)\begin{equation} \begin{aligned} \arg \min_{\boldsymbol{\b..

인공지능 2025.03.30

모델 경량화 프루닝 (Pruning) - Unstructured

프루닝이란프루닝(pruning)은 딥러닝 모델에서 모델의 크기를 줄이고 효율성을 높이기 위해 불필요한 부분을 제거하는 과정입니다. 필요없는 부분을 "가지치기" 해서 모델의 덜 중요한 부분을 걷어냅니다가지치기하는 가장 쉬운 방법은 모델의 weight를 0으로 만드는 것(masking)입니다학습방법은 아래와 같습니다 1. 모델이 적당히 converge 할때까지 학습함2. 중요도가 낮은 weight를 0으로 만듬 (마스킹)3. 마스킹된 weight를 제외하고 모델 재학습4. 반복 그러면 어떤 값을 0으로 만들어야 할까요?(논문에 Saliency Score 라는 표현이 자주 나오는데 weight의 중요도를 결정하는 값입니다, 중요도가 낮은 것을 없애야 함) Method1 : Hessianhttps://proce..

인공지능 2025.03.23

2025 CKA 자격증 합격 후기

시험 개요시험은 단순 문제 풀이가 아닌 가상환경에서 직접 쿠버네티스 명령어를 실행하는 방식입니다. 2시간 동안 17문제가 주어집니다. 시험 비용은 445달러이지만 항상 할인을 하며 시험 신청 시 12달 동안 두 번의 기회가 주어집니다. 시험 시간 신청은 24시간 이후  30분 간격으로 아무시간이나 가능합니다.시험 출제 범위에 대한 것은 아래 사이트에 나와있습니다https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/ Certified Kubernetes Administrator (CKA) | Linux Foundation EducationTraining in skills, knowledge, and ..

쿠버네티스 2025.03.19

Kubernetes : RBAC (role/rolebinding/csr/serviceAccount)

RBACuser별로 역할을 구분하여 쿠버네티스의 특정 리소스만 접근외부에서 kube-api-server를 호출할 때 ca.crt와 함께 호출한다 User을 생성하는 과정은 다음과 같다 CSR쿠버네티스는 csr을 쿠버네티스의 리소스로 등록하여 승인할 수 있다openssl genrsa -out sample.key 2048openssl req -new -key sample.key -out sample.csr# 아무거나 입력, 단 common name은 user와 맞추어야함 생성한 .csr을 쿠버네티스의 리소스로 등록하자sample.csr을 base64로 디코딩 하여 spec.request에 넣어야한다cat sample.csr | base64 | tr -d '\n' # vi sample-csr.yamlapiVe..

쿠버네티스 2025.03.09

Kubernetes : CRD

CRCustom Resource로 사용자가 쿠버네티스에 추가하는 리소스입니다CRD란CRD(CustomResourceDefinition)는 CR을 만드는 방법 중 하나로 어떤 형태의 사용자 정의 리소스를 만들지 정의하는 부분입니다 apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata: name: students.example.com # plural이름.API그룹으로 작성spec: group: example.com # API 그룹 이름 versions: - name: v1 # 버전 served: true ..

쿠버네티스 2025.03.09

Kubernetes : Kustomize

Kustomize는 yaml 오버레이 방식을 통해 환경별로 설정을 쉽게 분리할 수 있다Helm과 다르게 어플리케이션 패키지는 아니다 기본 구조base/ deployment.yaml service.yamloverlays/ dev/ kustomization.yaml patch-deployment.yaml prod/ kustomization.yaml patch-deployment.yamlbase: 공통 리소스 정의overlays: 환경별 커스터마이징 정의overlays에서 base의 yaml 파일을 덮어쓴다 nginx 예시를 살펴보자 base/deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginxspec: ..

쿠버네티스 2025.03.05