본문 바로가기

IT 개발자의 창고

(28)
LLM (Large Language Model) 이란? LLM (Large Language Model) 이란?LLM은 텍스트를 인식하고 생성하는 등의 작업을 수행할 수 있는 일종의 AI 프로그램이다. LLM은 방대한 Dataset을 학습하며, 머신러닝 중 트랜스포머 모델이라고 하는 일종의 신경망을 기반으로 한다. 트랜스포머 모델은 문장 속 단어와 같은 순차 데이터 내의 관계를 추적해 맥락과 의미를 학습하는 신경망을 말한다. 간단히 말해, LLM은 인간의 언어나 기타 복잡한 데이터를 인식하고 해석할 수 있을 만큼 충분한 예제를 제공받은 컴퓨터 프로그램이다. 많은 LLM은 인터넷에서 수집된 수천 또는 수백만 기가바이트에 달하는 텍스트로 학습된다. 하지만 샘플의 품질이 LLM이 자연어를 얼마나 잘 학습할 수 있는지에 영향을 미치므로, LLM의 프로그래머는 보다 엄..
npm install vs ci npm을 통해 node-module을 설치할 때 사용하는 명령어로 npm install 과 npm ci 가 있다. 둘 다 npm node-module을 설치하는 명령어이지만, 서로 다른 차이점이 있다. npm 설치 명령어는 package.json 과 package-lock.json 파일과 밀접한 연관 관계가 존재한다. 먼저 package.json은 설치하고자 하는 모듈의 의존성 목록을 정의하며, 각 module의 version은 version range를 따른다. 이 때 version은 다음과 같이 사용 가능한 범위를 지정할 수 있다. 참고) https://docs.npmjs.com/cli/v6/using-npm/semver#ranges semver | npm Docs The semantic versio..
systemctl 서비스 등록 / 생성 / 삭제 리눅스가 부팅이 되면 시스템을 초기화하고, 환경설정을 해주는 역할을 무엇인가가 해줘야 할 것이다. 초기에는 init 프로세스가 그 역할을 수행했었지만, 이는 single core 시절 수행 시간보다는 동작만 제대로 되는 지 용도였다. 하지만, multi core로 수행시간이 보다 중요한 시기가 되면서 병렬로 실행되어 부팅속도가 빨라지는 등 다양한 기능을 제공하기 위해 systemd가 도입되었다. systemctl은 systemd를 관리하기 위한 도구이다. (systemctl 이전에는 service 명령어가 동일한 동작을 수행했다.) 1. 디렉토리 정보 /etc/systemd/ : configure list /lib/systemd/ : binary 실행 파일 존재 /lib/systemd/system/ : ..
Machine Learning 관련 python 라이브러리 설치 command의 기준은 Mac OS (M1) 기준입니다. 텐서플로우 딥러닝 모델을 쉽게 구현할 수 있도록 구글에서 제공하는 라이브러리다. 기본적으로 C++로 구현되어 있고, Python, Java, Go 등의 언어를 지원한다. 이 중 Python에 가장 많은 기능들이 구현되어 있다. 설치방법 # tensorflow dependencies 설치 (nlp_exam) $ conda install -c apple tensorflow-deps # macos용 tensorflow 설치 (nlp_exam) $ python -m pip install tensorflow-macos # GPU를 사용할 수 있는 plug-in 설치 (nlp_exam) $ python -m pip install tensorflow-me..
Apple M1 Mac OS에 아나콘다 설치하기 아나콘다 (Anaconda)란? 데이터과학, 기계학습, 대규모 데이터 처리, 예측 분석 등의 과학 계산을 위해 사용하는 파이썬과 R 프로그래밍 언어의 오픈소스 배포판이다. conda라고 하는 패키지 관리 시스템을 통해 패키지 관리 및 배포를 편리하게 할 목적으로 만들어졌다. 머신러닝 프로젝트를 진행할 때 라이브러리 의존성 문제들로 골치가 아픈데, 이러한 것들을 깔끔하게 관리해 주는 도구이다. 아나콘다는 여러 개의 가상환경을 만들어 필요한 패키지들만 설치하여 사용할 수 있으며, 각각의 가상환경은 독립적으로 분리되어 있다. 아나콘다 설치 Windows, Mac, Linux OS를 지원하고 있으며, 이 글에서는 Apple M1 기반의 Mac OS에서 설치를 진행하는 방법을 정리한다. Anaconda Insta..
신규 mac으로 마이그레이션 이 후 기존 mac 공장 초기화 애플 맥북을 신규 구입하고 기존 노트북의 정보를 이전하고 양도하기 위해 기존 노트북은 포맷을 진행했다. 준비사항 1. 기존 PC와 신규 PC 모두 소프트웨어 업데이트를 진행한다. (현재 기준 Monterey 버전으로 수행) 2. 두 PC 모두 동일한 Wi-Fi 를 설정하여 동일한 네트워크에 연결한다. 3. 두 PC 모두 전원에 연결한 상태로 진행한다. 마이그레이션 진행 신규 Mac 1. 응용프로그램 > 유틸리티 > 마이그레이션 지원 실행 2. 다음 화면이 나올 때까지 '계속', '확인' 등을 눌러 진행한다. 3. 'Mac, Time Machine 백업 또는 다른 시동 디스크로부터' 를 선택한다. 기존 Mac 1. 응용프로그램 > 유틸리티 > 마이그레이션 지원 실행 2. '마이그레이션 지원' 화면이 나올 ..
ML 프로젝트 수행 시 allocate memory Error 머신러닝 프로젝트를 진행하여 학습을 진행하는 과정에서 다음과 같은 오류가 출력되었을 때, 해결 방법에 대해 정리한다. $ CUDA_VISIBLE_DEVICES=0 python train_torch.py --train --max_epochs 3 .. 초반 생략 .. RuntimeError: [enforce fail at CPUAllocator.cpp:68] . DefaultCPUAllocator: can't allocate memory: you tried to allocate 629145600 bytes. Error code 12 (Cannot allocate memory) 약 600Mb의 메모리 할당을 할 수 없어서 에러가 출력되었다. 현재 메모리 사이즈를 조회하면, Swap Memory가 충분하지 않음..
아나콘다 - 머신러닝 패키지 관리 및 배포 아나콘다 (Anaconda)란? 데이터과학, 기계학습, 대규모 데이터 처리, 예측 분석 등의 과학 계산을 위해 사용하는 파이썬과 R 프로그래밍 언어의 오픈소스 배포판이다. conda라고 하는 패키지 관리 시스템을 통해 패키지 관리 및 배포를 편리하게 할 목적으로 만들어졌다. 머신러닝 프로젝트를 진행할 때 라이브러리 의존성 문제들로 골치가 아픈데, 이러한 것들을 깔끔하게 관리해 주는 도구이다. 아나콘다는 여러 개의 가상환경을 만들어 필요한 패키지들만 설치하여 사용할 수 있으며, 각각의 가상환경은 독립적으로 분리되어 있다. 아나콘다 설치 Windows, Mac, Linux OS를 지원하고 있으며, 이 글에서는 Linux 기반에서 설치를 진행하는 방법을 정리한다. Anaconda Installers: http..