본문 바로가기

분류 전체보기68

mac에서 JVM/JDK 문제 해결하고 KoNLPy 사용하기 M1 칩이 탑재된 맥미니와 M4 칩이 탑재된 맥북 프로에서 KoNLPy를 사용하려고 할 때 다양한 에러가 발생했다.맥 환경에서는 기본적으로 Java가 설치되어 있지만, 최신 버전 Java의 경우 호환이 잘 되지 않는 문제가 있기 때문이다. 먼저 현재 설치되어 있는 JDK를 확인해보자.`/usr/libexec/java_home -V` 그리고 지원 되는 버전의 JDK를 다운받자.1. 오라클 에서 Java8 버전을 받거나2. Zulu 에서 Java15 버전을 받거나3. 될때까지 뭔가를 받아본다. (?) 터미널을 켜고 ~/.zshrc에 JAVA_HOME이라는 환경 변수를 다음과 같은 방법으로 추가해준 뒤export JAVA_HOME="/Library/Java/JavaVirtualMachines/zulu-15.j.. 2025. 3. 16.
.gitignore 패턴 프로젝트를 git에 올릴 때 제외할 파일들을 설정하기 위한 파일이다.예를 들어 `yarn install`, `npm install`등이 터미널에서 실행되면package.json에 기입된 정보에 따라 필요한 라이브러리들이 설치되는데이런 내용을 모두 git에 올릴 필요가 없기 때문에 .gitignore 파일을 생성해서 제외할 파일들을 설정해주면 된다.  특정 폴더 및 하위 파일들을 전송하지 않으려면`/폴더 이름` 원하지 않는 확장자가 있다면`*.log` 제외하고 싶은 파일이 있다면`파일 이름` .gitignore에 작성한 후 git에 올리면, 저장소에 해당 파일들이 제외하고 올라가는 것을 확인할 수 있다. 2025. 3. 16.
이것저것 개념 정리 Spring boot웹 프로그램을 쉽고 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크.사용자가 일일이 모든 설정을 하지 않아도, 자주 사용되는 기본 설정을 알아서 해준다. JPA(Java Persistence API)자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API.스프링 부트는 JPA를 사용하여 데이터베이스를 처리할 수 있고, JPA를 구현한 대표적인 실제 클래스에는 Hibernate가 있다.@Entity@Table(name = "input_data")public class InputData .. 정의정의InputData data = new InputData("Alice", "Hello!");entityManager.persist(data); 이러한 예시에.. 2025. 3. 11.
mac 터미널에서 폴더트리 구조 확인 설치$ brew install tree 사용법$ tree 특정 폴더 제외$ tree -I node_module 파일을 제외한 폴더 구조만 출력$ tree -d 숨겨진 파일까지 모두 출력$ tree -a 2025. 3. 9.
Colab으로 LLM 돌리기 학습 한 번 돌리려면 6시간이 걸리는 사태로 인해 Colab을 사용하기로 했다.유튜브 프리미엄도 안 쓰는 내가!! 너무 답답할 정도라 쓰다가 모자라면 유료 버전으로 쓰려고 했는데학습용으로 조금 돌려보는 정도로는 전혀 모자라지 않았다. 런타임 유형 변경 창에서 하드웨어 가속기는 T4 GPU로 선택해주었다. 에러 제거를 위해 요고 먼저 실행해주고!pip install datasets==2.14.5!pip install -U bitsandbytes 그동안 로컬에서 테스트했던 코드를 그대로 실행하니 로그에 wandb 어쩌구 API key를 입력하라고 했다. 조금 찾아보니 Weights & Biases(W&B)라는 머신러닝용 툴이었다. 해당 설정을 off하려면 TrainingArguments를 선언할때 repor.. 2025. 3. 6.
Voice Cloning 보이스 클로닝이란, 최소 샘플 데이터 기반의 음성복제 알고리즘이다. 1. 준비 단계대상 목소리의 음성 데이터를 수집한 녹음 파일 + 음성 데이터와 일치하는 텍스트 대사 2. AI 모델 학습1) 데이터 전처리 (노이즈 제거, 음성 분할 등)2) 음성 모델 학습 (Tacotron, WaveNet, VITS 등) - 음성의 특성을 파악하고, 입력된 텍스트를 해당 목소리로 변환할 수 있도록 목소리를 훈련시킨다. 3. 음성 생성1) 텍스트 입력 - 생성하고자 하는 텍스트를 입력한다.2) 음성 합성 - 학습된 모델을 이용해 입력된 텍스트를 대상 목소리로 합성한다.  2023년 12월에 발표된 논문 OpenVoiceby MIT, 칭화대, 마이쉘(캐나다 AI 스타트업) 연구진 - 짧은 오디오 클립만으로도 보이스 클로닝.. 2025. 2. 20.
Instruction Tuning (2) 지난 글에 이어서 계속... Loading checkpoint shards: 100%|█████████████████████████████| 2/2 [00:14/opt/homebrew/lib/python3.11/site-packages/bitsandbytes/cextension.py:34: UserWarning: The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.  warn("The installed version of bitsandbytes was compiled without GPU su.. 2025. 2. 12.
Instruction Tuning (1) Instruction TuningFine Tuning과 In-Context Learning의 장점을 결합하여 모델을 특정 데이터셋으로 학습 시키는 방법이다.단, 데이터셋의 구성이 사용자의 구체적인 지시(instruction)과 응답(output)으로 구성되어 있는 것이 특징이다. LLM에 Instruction Tuning을 적용한 대표적인 사례로는 스탠포드에서 개발한 Alpaca 모델이 있다.Llama 7B를 기본 모델로 하여 Instruction Tuning을 통해 추가 학습을 진행했는데Instruction-Output의 샘플을 만든 후 그 데이터로 LLM을 학습시켜, 튜닝을 위한 데이터셋을 모델이 자가수급하도록 했다.(self instruction) Python으로 Instruction Tuning .. 2025. 2. 6.
Tuning LLM의 기본 모델 자체는 언어 이해와 생성에 초점을 맞추고, 특정한 답을 하게끔 설계된 것은 아니다.따라서 모델을 재학습시켜 답변 스타일을 최적화하거나, 지시를 이해하고 따르는 능력을 강화해야 한다. 1. Fine-tuning모델이 특정 분야에서 더욱 정교하고 전문적인 답변을 할 수 있게 개선하는 방법이다.예를 들어, 의학 분야에 대한 데이터로 파인 튜닝을 하면 특정 상황에 대한 정확한 답변이 가능해진다. PEFT (Parameter Efficient Fine-tuning)파인 튜닝을 진행할 때 일부 파라미터만 업데이트 하더라도 큰 성능 개선을 기대할 수 있는 방식으로,요즘에는 LoRA (Low Rank Adaptation) 혹은 QLoRA 기법이 제시되고 있다. 2. Instruction-tuning.. 2025. 1. 20.