Langcon 2023 후기, 인사이트!
·
Insights/Seminar !
NLP 오픈톡방에서 어떤 분이 공유해주시면서 이런 행사가 있다는 것을 알게되었고, 연사분들 중 평소에 유튜브 토스채널에서 뵀던 Toss ML팀에서 근무하시는 대단하신 분, 공모전에서도 우리팀이 활용했던 모델을 직접 만들어주신 대단하신 분, 등 여러 대단하신 분들이 계신걸 확인했다. 바로 결제 후 지난 2월 18일 세미나를 들으러 갔다! 이 강연들 중 인상깊었던 부분들과 (bias와 noise가 많을)나의 생각을 간단히 정리해본다. Open-domain QA, Dialouge State Tracking, Chatbot 에 관심이 많으신 Jongwon님을 시작으로 강연이 시작되었다. 1) Jongwon 님 "ChatGPT" 주어진 computing 자원 안에서 최적의 성능을 내기위해선, 당연하게도 더 많은 ..
"torch.repeat()" 와 "torch.expand()" 의 차이점
·
소프트웨어/프로그래밍
https://seducinghyeok.tistory.com/9 torch.repeat(*sizes) 로 특정 텐서의 차원을 지시한 횟수만큼 반복할 수 있다. torch.expand(*sizes) 로는, 직관적으로 어떤 텐서자체를 하나의 point처럼 반복해 새로운 텐서를 만들 수 있다. 위 블로그의 예시코드로 자세히 이해할 수 있다. 결론은, LSTM에서 한 input vector에 대해 4번의 GATE계산을 병렬적으로 해야할 때 repeat나 expand를 통해 벡터를 복사해주고, 한번에 여러 weights와 계산을 수행하게 한다면 효율적일 것 같다. 이처럼, 모델의 중간에서 특정 feature vector가 반복되어 계산되어야할 때 유용하게 사용할 수 있는 메소드같다.
git에서 특정 브랜치만 clone 하는 방법
·
소프트웨어/프로그래밍
https://www.slipp.net/questions/577 git clone -b {브랜치 이름} --single-branch {URL} 특정 브랜치만 클론 가능!
Stanford CS224N - NLP w/ DL | Winter 2021 | Lecture 4 - Syntactic Structure and Dependency Parsing
·
AI/cs231n
[ 강의 키워드 ] Syntatic Structure : "구문 구조", 문장을 하위구조로 쪼개어 보는 것 Constituency Structure : "구성 구조", 구문구조 방법중 하나 Dependency Structure : "의존 구조", 구문구조 방법중 하나 Universial dependencies : 위의 Constituency Structure 와 Dependency Structure 를 동시에 사용하는 구조 Dependency Grammar : 말그대로 의존구조의 문법 Treebank : 구문 분석한것을 tree 구조로 저장해놓은 것(사이트) Parser : 구문 분석기 Dependency Parser : 의존구조 분석기 (강의 뒷부분 메인 주제) Greedy transition-base..
Stanford CS224N NLP with Deep Learning | Spring 2022 | Guest Lecture: Scaling Language Models 강의 요약
·
AI/cs224n
https://www.youtube.com/watch?v=UFem7xa3Q2Q&list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ&index=24 위 스탠퍼드 cs224n 강의를 듣고 요약한 글 입니다. 틀린 부분은 지적해주시면 감사하겠습니다.^^ outlines 1. motivations for LM, 2. Orders of Magnitude of Data, 3. Universality of Scaling Laws, 4. scale up LM - consiquencies Fermi Estimates for LM 문제, 기초지식+논리추론, 효율적 대략적 근사치 추정 Why you study language? — motivation AI : our species best attempt ..
Transformer Encoder 동작 분석
·
AI/cs224n
30일 첼린지 1일차, 금요일 forward 순 ​ 'I like staying at home.' 이란 문장이, transformer 모델에 들어가서 output으로 나오는 과정을 원리와 데이터의 흐름을 중심으로 차근차근 생각해보았다. ​ 0. input sentence tokenizing input >>> 'I like staying at home.' tokenized >>> ['i', 'like', 'stay', '##ing', 'at', 'home', '.'] output(token_to_id) >>> [151, 3751, 6758, 19, 534, 616, 1, , , ..., ] output.shape = (max_seq_len, ) ​ WordPiece(BERT), 은전한닢, Mecab 등의 ..
/bin/bash^M: bad interpreter: No such file or directory 오류
·
Embedded Systems/리눅스
http://chomman.github.io/blog/linux/binshm-bad-interpreter-no-such-file-or-directory-%EC%98%A4%EB%A5%98-%EB%B0%9C%EC%83%9D-%EC%8B%9C/ /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시 linux 에서 스크립트 실행할 때 /bin/sh^M: bad interpreter: No such file or directory 와 같은 에러 메시지가 나타날 때가 있다. chomman.github.io 윈도우에서 스크립트 파일을 만들고, 리눅스에서 실행해서 발생하는 오류라고 한다. 오류의 이유는 개행문자가 윈도우와 리눅스가 서로 달라 호환이 안되기 때문이..
pip과 conda의 차이
·
소프트웨어/Python
특정 패키지들은 pip을 이용해 환경에 설치해야한다. 이런 경우, conda의 어떤 가상환경에 설치되는걸까? 결론은, pip을 직접 사용하는 경우, global version의 pip을 사용해, 가상환경 밖에 패키지가 설치된다. 따라서, 특정 conda 가상환경에 설치하기 위해서는, 가상환경의 경로를 찾아 다음과 같이 명시적으로 pip 을 이용해 설치할 수 있다. ~/anaconda3/envs/my_env/bin/pip install my_package 출처! https://blog.naver.com/jinp7/222609693992
[WSL] Conda: "command not found" 에러 (우분투 환경)
·
Embedded Systems/리눅스
웹상에 맥의 경우 해결하는 방법은 많으나, 윈도우의 경우 해결법이 적어 (6시간 파고들어)정리해 올립니다.많은 분들께 도움이 된다면 너무 뿌듯할 것 같습니다! 윈도우에서 wsl이나 ubuntu를 이용해 리눅스환경에서 아나콘다를 설치했음에도, conda 명령어가 먹지 않는 사람들을 위한 글입니다.conda --version를 입력할 때, 다음과같은 에러가 떴을 것 이다.Conda: "command not found"해결방법과 에러의 원인을 안내해드리겠습니다. 1-1. 해결방법 (일회성)1. 리눅스 셸을 열고, 위와 같이 입력해줍니다. (아래 코드)export PATH=~/anaconda3/bin:$PATH 2. conda 명령어가 잘 먹힙니다. 하지만 이는 리눅스를 껐다 켤때마다 계속 다시해줘야합니다. 이..
다크호스 [토드 로스, 오기 오가스]
·
Insights/서평
남들이 쫓는걸 따라 쫓다보면 공허해지는 것, 내가 정한 목표를 향해 나아가고 충만감을 느끼면서 살아갈 때, 실력과 재미 둘 다 얻을 수 있다는 점 한번 사는 인생, Not Normal, Be Myself 가 인생 철학인 점, 다크호스라는 책을 지하철 탈 때 마다 짬짬히 읽고있는데, 내 가치관이 강화되는 느낌이든다. (독서가 권장되는 이유같다.) 내일, 3/1에 3/2 첫 출근부터 무조건 지킬 그 루틴 생각해서 첫 출근부터 가져가봐야겠다. 일찍 출근하여 책 읽든지, 추가 공부 한다든지 등등 말이다. 이번 KIST인턴을 나에게 제일 유리한 6개월로 만들어 갈 것 이다. 한번에 무언가 새로운 루틴을 적용하는것의 단점을 느꼈다. micro 하게 지킬 수 있는 높이만큼씩 변화하고 올라가면 된다 ! 인턴을 마치고...
딥러닝에서 "tensor" 란,
·
AI/Deep Learning
핵심 요약 "한마디로, Tensor는 수치화된 데이터를 저장하는 방식이다." "한마디로, Tensor는 Rank, Shape, Data Type 의 요소로 구분된다." "Tensor은 pytorch 라이브러리에서 정의한 ML계산용 클래스라 여겨도 무방할 듯 하다." -- 추후 깨달음 얻을 시 수정하겠음 pytorch 등 라이브러리를 사용하다보면 "tensor"라는 자료구조가 자주 등장된다. 배열인가? 싶으면서도 묘하게 다르고 아닌것같다. Q1. 그렇다면, AI를 공부하는 사람으로서 tensor를 어떻게 정의할 수 있어야할까? Q2. 배열과 비슷해보이는데 차이점은 무엇일까? 의 의문점이 우선 든다. 우선 pytorch 홈페이지의 설명을 보자. https://tutorials.pytorch.kr/beginn..
Transformer - Multihead Attention의 'attention score'을 root(d_k)로 나눠주는 이유는? <수학적 접근>
·
AI
해결하고자 하는 문제 Transformer에서 Attention weight를 계산하는데 있어서 root{d_k} 로 나눠주는 이유에 대해 주어진 expectation & variance property 와query key vector의 component q, k의 mean, variance를 이용해 설명하세요. 이 때, E(Q) = 0, VAR(Q) = 1, E(V) = 0, VAR(V) = 1 로 정규화되어있다 가정한다. (일단). 사용되는 hyperparameter 정리 (그래도 상관없음!) Q : 쿼리 묶음 (d_k x S) = (d_model/head수 x Seq_length)* q : 쿼리묶음중 하나의 쿼리벡터 (d_k x 1) K : key (d_k x S) 1. (d_model/head수 ..