모델 경량화 및 최적화 소개
경량화
최근 AI 모델은 점점 거대해지므로 이로 인해 계산 자원량이 기하 급수적으로 증가했다.
이런 거대한 AI 모델들을 다양한 환경에서 사용하기에는 다양한 문제들이 발생하기에 경량화가 필요하다.
모델 경량화란 AI 모델의 크기를 줄이고 계산 비용을 감소시키면서도, 필요한 모델의 성능을 최대한 유지하는 기술을 말한다.
대표적으로 Pruning(가지치기), Knowledge Distillation(지식 증류), Quantization(양자화) 등이 있다.
경량화가 필요한 자세한 이유
실시간 처리: 데이터에 반응하여 즉각적인 결정이나 예측이 중요한 분야(자율 주행, 헬스 케어 ...
[프로그래머스] 삼각 달팽이
문제
def solution(n):
answer = []
num_list = [[0] * i for i in range(1, n + 1)] # 삼각형 배열 초기화
x, y = 0, 0 # 시작 위치
cnt = n * (n + 1) // 2 # 채워야 할 총 숫자
dx = [1, 0, -1] # x 변화량 (아래 -> 오른쪽 -> 대각선 위-왼쪽)
dy = [0, 1, -1] # y 변화량
d = 0 # 현재 방향 (0: 아래, 1: 오른쪽, 2: 대각선 위-왼쪽)
for i in range(1, cnt + 1):
...
[프로그래머스] 두 큐 합 같게 만들기
문제
from collections import deque
def solution(queue1, queue2):
answer = 0
q1 = deque(queue1)
q2 = deque(queue2)
sum1 = sum(q1)
sum2 = sum(q2)
sum_total = sum1 + sum2
if sum_total % 2 != 0:
return -1
while answer <= 2 * (len(q1) + len(q2)):
if sum1 == sum2:
return answ...
[프로그래머스] 2개 이하로 다른 비트
문제
def solution(numbers):
answer = []
for num in numbers:
bin_num = bin(num)[2:]
bin_num = '0' + bin_num
if num % 2 == 0:
answer.append(num + 1)
else:
for i in range(len(bin_num) -1, -1, -1):
if bin_num[i] == '0':
answer.append(int(bin_num[:i] + '...
[Airflow]Airflow 실습
Airflow 설치
AIRFLOW_VERSION=2.6.3
PYTHON_VERSION="$(python --version | cut -d " " -f 2| cut -d "." -f 1-2)"
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
pip3 install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
Airflow Init
Code
...
99 post articles, 20 pages.