본문 바로가기

[Linux/Ubuntu] 리눅스 Anaconda/Conda 환경 기본 경로 변경 및 새 환경 생성 방법 기본적으로 Anaconda는 환경을 ~/anaconda3/envs 또는 ~/miniconda3/envs 디렉토리에 저장하는데요,해당 경로 저장공간이나 여러 이유로 이를 변경하고 싶을 때가 있습니다.이때, 환경 생성 기본 경로를 변경하는 법을 알아봅시다.  1. 새로운 기본 경로 설정하기conda config 명령어 사용하여 Directory 추가하기터미널 열기새로운 경로 설정  $ conda config --add envs_dirs /path/to/your/new/envs/directory설정 확인:  $ conda config --show envs_dirs2. 새로운 경로에 환경 생성하기새로운 경로를 설정한 후에는 해당 경로에 새로운 conda 환경을 생성합니다. 환경 생성: $ conda create..
[LLM/Security] Large Language Models for Code: Security Hardening and Adversarial Testing (SVEN), 안전한 코드 생성 LLM을 위해 보안 TOP 학회 중 하나인 ACM CCS 2023 에 발표된 "Large Language Models for Code: Security Hardening and Adversarial Testing" 라는 논문에 대해 Review 를 하고자 한다. 해당 논문은 코드 생성 LLM 을 prefix-tuning 하여 더욱 보안적으로 안전한 (혹은 더 취약한) 코드를 생성하게 하는 방법을 제안했다. 더보기 아래 링크로 가면 저자가 직접 설명해주는 영상도 있다. https://www.youtube.com/watch?v=YXUmEcIiyK0 좀 더 자세히 이해해보자. Background ChatGPT 의 등장으로 거대 언어 모델 (Large Language Models, LLM) 에 대한 관심은 더욱 증가하고 있다..
[AI Security] Backdoor Attacks 백도어 공격이란 ? Backdoor Attacks in Machine Learning? 공격자를 위한 우회경로를 만들어 놓는 것을 Backdoor 라고 한다. (기존 OS 나 Application 단에서 쓰인 bakcdoor 의 의미는 다음 더보기 란에서 확인할 수 있다.) 더보기 원래 기존 OS나 application 단에서 쓰이던 백도어(backdoor) 라는 단어는 마치 비밀 열쇠처럼, 공격자가 시스템에 몰래 들어가게 해주는 특별한 문을 만들어놓는 것을 의미한다. 이 문은 소유자의 허락이나 승인을 받지 않고 비밀리에 심어졌기 때문에 소유자가 알새 없이 공격자는 원격으로 시스템을 조종하거나 정보를 훔칠 수 있다. 좀 더 예로 들면, 금고를 만들어서 파는데, 고객들 모르게 갖다 대면 무조건 금고가 열리는 카드를 만들어놔서..
[ML/Multi-Agent Systems] Interaction Modeling with Multiplex Attention NeurIPS 2022 에 발표된 "Interaction Modeling with Multiplex Attention" 라는 논문에 대해 Review 를 하고자 한다. Multi-Agent System 이란? 해당 논문은 다양한 agents 와 interactions 들이 있는 multi-agent systems 에서의 interaction modeling 문제를 다룬다. multi-agent systems 은 자율 주행 자동차나 SNS 서비스 같은 데이터들을 말하는데, 여기에는 다양한 agents 들 (ex. 자동차, 페이스북 유저) 과 그 agents 들 간의 다양한 상호작용(interaction)이 존재한다. 아래 그림의 왼쪽을 보면, 사람들 (agents) 이 있고, 각 agent 들의 관계성이 ..
[ML/Tabular] CTGAN, Modeling Tabular Data using Conditional GAN Review NeurIPS 2019 에 발표된 "Modeling Tabular Data using Conditional GAN Review" 라는 논문에 대해 Review 를 하고자 한다. 해당 논문은 Discrete Column (범주형 데이터) 와 Continuous Column (연속형 데이터) 들이 섞여 있는 Tabular data 를 재현하는 데 존재하는 어려움과 이를 극복하는 방법에 대해 이야기 하고 있다. 본 논문에서 말하는 두 Columns 의 문제점은 다음과 같다. 1. Discrete Column (= Categorical Column) : 뷸균형한 데이터 분포 ex) 예방접종 유무를 나타내는 Column 의 경우에, Yes 는 10% 이고 No 는 90% 인 경우 2. Cotinuous Colum..
[AI/ViT] Vision Transformer(ViT), 그림으로 쉽게 이해하기 서론 AI/ML 의 Natural Language Processing (NLP) 분야에서 각광받고 있는 Transformer 구조를 Language 가 아닌 Vision 영역에 적용한 Vision Transformer(ViT) 라는 구조가 2021 년도 ICLR 라는 학회에 발표[1] 되었다. 그 이후로도 현재 ViT 베이스의 모델 구조가 비전 분야에서 많이 연구 되고 있다. [1] 에서 나온 가장 기본적인 Vision Transformer 의 구조는 위 그림과 같다. 본 글은, Vision Transformer(ViT) 의 이론적인 이야기보다는 ViT 의 구조를 [2]의 코드와 함께 파헤쳐보고자 한다. 아래 부터는 쉬운 이해를 위해 직접 그린 그림들이 있다. 아래 그림들에 행렬(matrix) 들에 적혀..
[Linux/du] 디렉토리 용량 확인하기 해당 directory 에서 각 파일 or 폴더들이 얼마나 용량을 차지하는지 알고 싶을 때 쓰는 명령어이다. 각 하위 폴더들의 용량을 알고 싶은 path 로 가서 아래 명령어를 실행시켜 주면 된다. # 크기 오름차순 $ du -skh * | sort -n # 크기 내림차순 $ du -skh * | sort -nr 숨긴 디렉토리 (hidden director) $ du -hs .[^.]* 해당 위치에서 각 모든 폴더들의 용량을 확인하고 싶으면 아래 명령어를 수행하면 된다. $ du -bh --max-depth=1 . | sort -hr
[LLM Training] 거대 언어 모델 병렬 훈련 기법들/Large Language Models Parallel Training 서론 2023년도 초반인 현재 ChatGPT 는 장안의 화제이다. 언어의 대한 이해 뿐 아니라 개발자들의 코드를 수정해주는 등 엄청난 품질로 사람들을 놀래키고 있다. ChatGPT 는 GPT3 라는 딥러닝 모델 구조 기반이다. GPT3 는 175billion (약 1750억개) 의 parameter 를 가지고 있는 모델이다. 매우 거대한 모델이라고 할 수 있다. GPT 뿐 아니라 BERT, T5 등 다양한 거대 언어 모델 (Large Language Model) 들이 있다. 아래 그림을 보면 2021 년 이후로는 1 Trillion (1조개) 를 넘어가는 초초거대 모델이 등장할 정도로 모델의 사이즈는 점점 커지고 있는 추세다. 최근 language model 이 계속 커지는 이유는 [2]를 통해 추론해볼..

728x90
반응형