Hong의 모든 글

Zulu JDK와 Jenkins 설치하기 – Ubuntu 24.04

Ubuntu 24.04에 Zulu JDK와 Jenkins를 설치하는 방법

Ubuntu 24.04에 Zulu JDK와 Jenkins를 설치하는 방법을 단계별로 설명드리겠습니다.

이 가이드에서는 먼저 Azul Zulu JDK를 설치한 후, Jenkins를 설치하는 절차를 다룹니다.

Jenkins는 Groovy 언어로 개발되었으므로 JDK가 필요합니다. Zulu JDK가 성능이 좋고 사용하기 편안하므로 무난하게 이걸 설치합니다. Jenkins는 가능한 최신 버전을 설치합니다.

1. Azul’s Public Key 등록

먼저, Azul의 공용 키를 등록합니다.

이를 위해 gnupg, ca-certificates, 및 curl을 설치한 후, 공용 키를 다운로드하고 시스템에 등록합니다.

sudo apt install gnupg ca-certificates curl
curl -s https://repos.azul.com/azul-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg
echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | sudo tee /etc/apt/sources.list.d/zulu.list

2. 사용 가능한 패키지에 대한 정보 업데이트

Azul Zulu 리포지토리를 설정한 후, 패키지 목록을 업데이트합니다.

sudo apt update

3. 필요한 Azul Zulu 패키지 설치

이제 설치하고자 하는 Zulu JDK 버전을 설치합니다. 예를 들어, Zulu 21 JDK를 설치하려면 아래 명령을 실행합니다.

sudo apt install zulu21-jdk -y

4. 자바 설치 버전 확인

설치가 완료되면, Java가 올바르게 설치되었는지 확인합니다.

java -version

예상 출력:

openjdk version "21.0.1" 2023-10-17 LTS
OpenJDK Runtime Environment Zulu21.30+15-CA (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Zulu21.30+15-CA (build 21.0.1+12-LTS, mixed mode, sharing)

Jenkins 설치

다음으로, Jenkins를 설치하는 방법을 안내드리겠습니다.

1. Jenkins의 Public Key 등록

먼저, Jenkins의 공용 키를 다운로드하여 시스템에 등록합니다.

sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

2. Jenkins 리포지토리 추가

Jenkins 리포지토리를 추가합니다.

echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

3. 패키지 목록 업데이트

패키지 목록을 업데이트합니다.

sudo apt-get update

4. Jenkins 설치

마지막으로, Jenkins를 설치합니다.

sudo apt-get install jenkins

이로써 Ubuntu 24.04에 Zulu ZDK와 Jenkins를 성공적으로 설치할 수 있습니다.

추가적인 설정이나 문제 해결이 필요하시면 공식 문서나 커뮤니티 포럼을 참고하시기 바랍니다.

Direct Preference Optimization (DPO)

DPO는 LLM에서 사용하는 튜닝 방법입니다.

GPT는 Pretrained 단계를 거쳐 Fine-tuning에서 RLHF라는 사람의 피드백에 의한 강화학습을 합니다.

PPO라는 것을 쓰는데요.

채점 모델을 만들어 채점모델이 모델이 생성한 텍스트를 채점하게 해서 그걸 다시 학습으로 돌려서 모델의 성능을 개선하는 방법입니다.

대표적으로 ChatGPT가 이 방법을 사용합니다.

DPO는 인간의 피드백없이 그냥 선호하는 데이터로 모델을 튜닝하는 방법입니다.

일반 fine-tuning하고 뭐가 따른지가 궁금할텐데 일반 fine-tuning은 인간의 피드팩 데이터를 넣지 않을 수도 있고 넣을 수도 있만 DPO는 인간의 피드백을 그 자체로 학습에 사용하는 방법입니다.

대표적으로 Llama3가 이 방법을 사용합니다.