본문 바로가기

분류 전체보기38

[Mamba 이해하기 1-2] HiPPO 깊게 알아보기 이전 글에서 이어진다. [Mamba 이해하기 1-1] HiPPO의 A 행렬의 중요성 | HiPPO: Recurrent Memory with Optimal Polynomial Projections, Gu et al.다루고자 하는 문제: 시계열 모델링1차원 연속 신호 $x(t)$가 주어졌을 때, 우리가 원하는 종류의 신호 $y(t)$로 바꿔주는 함수(또는 시스템) $f(t): \mathbb{R}_+ \rightarrow \mathbb{R}$을 찾는 문제이다. $x(t)$haawron.tistory.comHiPPO: Recurrent Memory with Optimal Polynomial Projections, Gu et al., NeurIPS 2020 HiPPO: Recurrent Memory with Op.. 2024. 9. 18.
torch.compile과 친해지기 (링크들 모음) 라이트닝의 어느 부분에 추가해야 하는가?관련 이슈 Clarify where to apply `torch.compile` in Fabric and add more tests · Issue #17250 · Lightning-AI/pytorch-lightningDescription & Motivation Users currently ask questions wheretorch.compile should be applied in Fabric. There are two main choices: Before calling fabric.setup() After calling fabric.setup() Which ...github.com라이트닝 독스, 컴파일의 한계점 Speed up models by compiling.. 2024. 9. 13.
nnn으로 CLI에서 폴더와 파일 미리보기 결과물 먼저 아래는 공식 데모이다. nnn terminal filebrowser demoDiscover topics like linux, terminal, and the magic of the internet at Imgur, a community powered entertainment destination. Lift your spirits with funny jokes, trending memes, entertaining gifs, inspiring stories, viral videos, and so much more from usersimgur.com  개요 GitHub - jarun/nnn: n³ The unorthodox terminal file managern³ The unorthodox te.. 2024. 9. 5.
[Mamba 이해하기 1-1] HiPPO의 A 행렬의 중요성 | HiPPO: Recurrent Memory with Optimal Polynomial Projections, Gu et al., NeurIPS 2020 다루고자 하는 문제: 시계열 모델링1차원 연속 신호 $x(t)$가 주어졌을 때, 우리가 원하는 종류의 신호 $y(t)$로 바꿔주는 함수(또는 시스템) $f(t): \mathbb{R}_+ \rightarrow \mathbb{R}$을 찾는 문제이다. $x(t)$가 오늘 엔비디아 주가라면 $y(t)$는 내일 주가가 될 수 있다. $x(t)$가 노이즈 낀 전화기 너머 목소리라면 $y(t)$는 깨끗한 목소리가 될 수 있다. 마지막으로, $x(t)$가 기계가 만들어낸 사람 목소리라면 매 지점마다 의심스러운 정도를 나타내는 $y(t)$를 만들 수도 있다.사람은 비디오, 오디오, 자연어 등을 효율적으로 이해할 수 있지만 딥러닝 모델들은 그렇지 못하다. 컴퓨터는 신호를 discrete 하게 받을 수밖에 없고 연속 신호는.. 2024. 9. 3.
[Mamba 이해하기 0] 개요 그래서 Mamba가 무엇인가? 왜 이렇게 유명한가?맘바는 time-varying state-space model (SSMs) + hardware-aware state materialization이다.최근 LLM의 작동 방식은 다음 단어 맞히기이다. 사용자의 질문 + 자신이 지금까지 했던 답변을 보고 제일 그럴듯한 다음 단어를 예측한다. Auto(스스로)-regressive(참고) 하다고 한다. 한 문장을 생성하기 위해 단어 개수만큼의 forward pass가 요구된다. 초대형 트랜스포머인 LLM은 단 한 번의 forward pass도 엄청난 양의 연산량을 요구한다. 지구의 엔트로피를 올리는 주범이 된 지 오래다.LLM의 연산량을 줄이려는 시도는 매우 많았다. 두 가지로 귀결된다. 하나는 auto-regr.. 2024. 9. 3.
Video | VideoBERT 리뷰, BERT로 비디오-캡션 Joint 모델링하기 VideoBERT: A Joint Model for Video and Language Representation Learning Chen Sun, Austin Myers, Carl Vondrick, Kevin Murphy, and Cordelia Schmid Google Research ICCV 2019 (잠실 코엑스!!) 2024년 2월 기준 인용 수 무려 1200회 [arXiv][paper] VideoBERT: A Joint Model for Video and Language Representation Learning Self-supervised learning has become increasingly important to leverage the abundance of unlabeled data .. 2024. 2. 9.
블로그 인라인 코드 Notion처럼 만들기 2018.06.27 - [[티스토리]/블로그 꾸미기 팁] - highlight.js 사용하기 highlight.js 사용하기개요 코드 에디터 테마는 개발자의 아이덴티티이다. 내 블로그의 독립성과 주체성을 나타내기 위해 highlighter는 꼭 필요하다. 1. highlight.js 그냥 이걸 쓰면 된다. 간편성부터 테마 개수까지 넘사이haawron.tistory.com 개요이전 글에서 `highlight.js` 세팅하는 법을 알아봤다. 하지만 얘는 코드 블럭만 칠해주고 인라인 코드는 신경을 안 쓴다. 따라서 `` 태그 없이 ``로 감싸져 있는 부분을 따로 칠해줘야 한다. `highlight.js`가 사용하는 class 이름(`hljs`)을 붙여도 되긴 하지만 얘는 폰트 등 스타일 일부를 ``에 넣기 때.. 2024. 1. 26.
Slurm-admin | Deepops로 Slurm 설치하기 (작성중) 개요Slurm을 설치한다는 것은모든 노드에 munged(MUNGE Uid 'N' Gid Emporium Daemon; GNU 마냥 recursive 약어이다) 설치마스터 노드에 slurmctld(Slurm Controller Daemon) 설치 및 가동컴퓨팅 노드들에 slurmd(Slurm Daemon) 설치[Optional] Accounting을 위해 마스터 노드(또는 별도의 노드)에 slurmdbd(Slurm DB Daemon) 설치slurm.conf, gres.conf(, cgroup.conf, slurmdbd.conf)의 변수를 조정하여 자원 분배 방식 조정prolog, epilog 등을 설정해 job 시작, 끝에 노드 설정 변경 자동화를 하겠다는 것이다. 하지만 slurm만 설치하는 것으로 클러.. 2024. 1. 18.
Slurm | 게시글 목록 링크가 없는 건 예정 글이다. Sys-admin 하다 보면 뭔가 봉사 하는 느낌이 들어서 재밌다. User Slurm-user | Slurm이란? Slurm-user | Slurm 사용법: srun, sbatch로 리소스 할당 받고 Batch Job 제출하기 squeue, sinfo 등으로 내 job 모니터링 하기 Job array srun, sbatch 멋있게 쓰기 submitit job dependency 활용해서 job들 자동으로 순서대로 돌아가게 하기 scontrol로 job update 하기 singularity 기반으로 docker 컨테이너 sudo 없이 돌리기 Admin 하드웨어 구성하기 Slurm-admin | Deepops로 Slurm 설치하기 slurm.conf로 configure 하기.. 2024. 1. 17.
VSCode Terminal에서 이미지 보기 개요 몇 달 전에 VSCode에 터미널에서 이미지를 출력하는 기능이 업데이트 됐다. 원래 리눅스나 맥 유저면 기본 쉘에서도 출력이 가능하기 때문에 그렇게 크게 감흥은 없겠으나, 윈도우에서는 마땅한 대체 기능이 없기에 아주 획기적이라 할 수 있다. (WSL이 있으나 램을 많이 먹어 선호하진 않는다.) 그리고 원격 환경이라면 workspace 바깥의 이미지를 보는 방법이 제한적이기에 더더욱 얻는 이득이 크다. 설치 1. pip install imgcat 2. 아래 설정 체크 3. 샘플 이미지 다운 wget https://raw.githubusercontent.com/EliSchwartz/imagenet-sample-images/master/n02012849_crane.JPEG 4. imgcat n020128.. 2024. 1. 17.
Slurm-user | Slurm 사용법: srun, sbatch로 리소스 할당 받고 Batch Job 제출하기 빠른 시작 / TL;DR 준비물 ssh로 master 서버에 접속이 돼있어야 한다 자신의 account, partition, qos 이름들을 알아야 한다. 관리자한테 물어보는 게 제일 낫다. 아래 커맨드로 알아낼 수도 있다. Accounting을 사용하지 않는 클러스터라면 아래 정보가 안 뜨거나 비어있을 수도 있다. sacctmgr show assoc tree format=cluster,acct,user,qos,part user=$USER 커맨드 일단 `srun`으로 Interactive Job부터 잡아보기 빠른 커맨드 srun -p [내 파티션] --pty bash 정석 커맨드 srun -p [사용할 파티션] -q [사용할 QoS] -A [사용할 account] --pty [사용할 쉘] 적절한 리소스도.. 2023. 3. 24.
Python | for..else 문법으로 이중 for loop을 continue하기 for..else 프로그램을 짜다 보면 for loop이 정상적으로 실행됐는지 중간에 break 됐는지 확인해야 할 상황이 생긴다. 보통은 is_broken 등의 플래그를 두는 식으로 짠다. 하지만 파이썬은 for..else라는 특이한 문법을 지원한다. 만약 for loop이 성공적으로 실행됐다면 else를 실행한다. # w/o for..else is_broken = False for i in range(100): if not testcase(i): print(f'{i} failed') is_broken = True break if not is_broken: print('all passed!') # w/ for..else for i in range(100): if not testcase(i): print.. 2022. 12. 29.