본문 바로가기

728x90

boostcamp AI tech

(73)
[Math] Linear Independent, Span, Basis and Rank 1. Linear IndependentLet's say we have x1, ..., xk vectors. If we can express one vector with anotherThoese vectors are linearly dependent if and only if (at least) one of them is a linear combination of the others. In particular, if one vector is a multiple of another vector then the set is lineary dependent. Here is a practical way of checking whether vectors x1, ..., xk are lineary independen..
[Math] Groups, Vector Spaces and Vector Subspaces **My Personal opinionIn linear algebra, finding solution x from Ax = 0 is very important.And possible solution set x forms a vector subspace which is included in R^n vector space.Before defining the solution space, What we will do is to look into what group, vector space, vector subspaces are.Simply, group gurantees that the results from the operation still lives in the same group(has more speci..
[Math] Finding Solutions of a System of Linear Equations How do we get solutions x from a system of linear equations, Ax = b.If we have a particular solution x_p such that Ax_p = B, and a homogenous solution x_h such that Ax_h = 0, then any scalar t.A(x_p + t*x_h) = bx = x_p + t*x_h Thus, adding any multiple of a homogeneous solution to a particular solution still satisfies the original solution.Notice that neither the general nor the particular solut..
[PyTorch] Modify Gradient while Backward Propagation Using Hook Hooks in PyTorch allow you to execute custom functions at specific points during the forward or backward passes of your neural network. 1. Understanding the Gradient Flow In PyTorchWhen you call loss.backward(), the gradients are computed and stored in the grad attribute of each parameter.Forward Pass: You pass your input through the network to get the output.input tensor Xmodel parameter tensor..
[Math] Viewing Deep Learning From Maximum Likelihood Estimation Perspective We can see finding deep learning model's parameters from maximum likelihood estimation perspective.1. Normal distribution1.1 SettingLet's say we have a model μ = wx+band have a dataset {(x₁, y₁), ..., (x₁, y₅), (x₂, y₆), ... , (x₂, y₁₁), (x₃, y₁₂), ...} consists of n samples.1.2 Assume a probability distributionLet's assume the observed value y, given x, follows normal distribution with mean μ=w..
Docker 프로덕트의 인계과정은 보통 다음과 같다. local 환경에서 개발 -> staging 서버에서 테스트 -> production 환경에 배포 각 단계별 환경이 다를 수 있다. 그래서 서버 환경까지 한번에 소프트웨어화하는 것이 가상화이며 docker가 이를 도와준다. 도커는 다른 VM들과 다르게 container 기술을 활용하여 더 가볍고 빠르고 쉽게 가상화를 구현할 수 있다. 누군가 OS, 설정등을 포함한 실행환경들을 담은 docker image를 만들어 놓으면 어디서든지 동일하게 해당 image를 실행할 수 있다. 도커 이미지를 원격 저장소에 올려두면 배포를 기다리는 서버는 해당 이미지를 내려받아서 실행하게 된다. 1. docker 이미지 생성 FROM python:3.9.13-slim WORKDIR /..
Airflow 일정 기간 데이터를 모아서 주기적으로 모델을 학습하거나 batch 묶음으로 한번에 예측을 하는 경우를 batch serving이라고 한다. Apache Airflow를 활용하면 scheduler를 통해 주기적인 학습 자동화 혹은 batch단위 예측을 구축할 수 있다. 1. DAGs (Directed Acyclic Graphs) airflow에서 스케쥴링할 작업을 DAG라고 부른다. 작업이 하나의 노드인셈이다. DAG란 여러 작업들이 그래프로 구성된 파이프라인인 셈이다. 2. Airflow 설치 // 가상환경 생성 python -m venv .venv source .venv/bin/activate // airflow 설치 pip3 install pip --upgrade AIRFLOW_VERSION=2...
Product Serving 관련 용어 정리 1. load balancer 서버를 여러 곳에 띄우는데 한쪽이 바쁜 상태면 덜 바쁜 곳으로 요청을 인계하는 것을 말한다. 예로 nginx가 있다. 2. Asynchronous 패턴 synchronous 패턴에서는 서버가 한명의 요청에 대한 작업이 마칠때까지 client는 응답을 기다리는 상태로 멈춰있다. 사용자의 수가 많아질수록 전체적인 응답 속도가 느려진다. 문제는 사용자가 응답을 받을 때까지 아무것도 하지 못한다는 것이다. 물론 서버 컴퓨터의 cpu와 메모리를 늘려서 서버의 연산 속도를 늘려 해소할 수 있겠지만 가격이 비싸고 요청수가 다시 증가하면 문제는 반복된다. asynchronous 패턴으로 위와 같은 문제를 해결할 수 있다. 클라이언트와 서버 사이에 message queue/cache를 둔다..

728x90