RHEL AI

Merhabalar,

Bugün beni oldukça heyecanlandıran ve kesinlikle AI modellerimizi geliştirirken elimizi güçlendirecek bir teknolojiden bahsetmek istiyorum: RHEL AI.

Red Hat Enterprise Linux AI, bootable bir “image” olarak dağıtılır ve kurulabilir. Bu image, RHEL AI için gerekli olan çeşitli “software” ve “tool”ları içeren bir “container” barındırır. “İmage”lar, belirli “hardware vendor”larını destekleyecek şekilde hazırlanmıştır.

Her RHEL AI image’ı şunları içerir:

  • Red Hat Enterprise Linux 9.4: Bilgisayarınız için RHEL 9.4 işletim sistemi (OS).
  • InstructLab container: InstructLab, AI modellerini eğitmek ve optimize etmek için geliştirilmiş bir framework’tür. Bu “container”, RHEL AI için gerekli tool’ları içerir. İçeriğinde şunlar bulunur:
  • Python 3.11: InstructLab tarafından kullanılan Python 3.11 sürümü.

InstructLab tools:

  • InstructLab Command Line Interface (CLI): InstructLab ile etkileşim kurmak ve AI modellerini yönetmek için kullanılan komut satırı arayüzü.
  • LAB enhanced Synthetic Data Generation (SDG): LAB (Large-scale AI Builder) tarafından geliştirilen, sentetik veri üretimi için kullanılan gelişmiş bir yöntem. AI modellerinin daha iyi eğitilebilmesi için büyük miktarda kaliteli veri üretmeye yardımcı olur.
  • LAB enhanced multi-phase training: AI model training sürecini daha verimli hale getiren, çok aşamalı eğitim sağlayan bir LAB özelliği.
  • InstructLab with vLLM: vLLM (Versatile LLM Inference & Serving Engine), büyük dil modellerinin (LLM) daha hızlı ve verimli bir şekilde çalıştırılmasını (inference) sağlayan bir optimizasyon motorudur.
  • vLLM, AI modelleri için high-input inference ve low-latency (düşük gecikmeli) response sunar.
  • Memory-efficient paging mechanism sayesinde GPU bellek kullanımını optimize eder, böylece büyük dil modelleri daha az kaynakla daha verimli çalışabilir.
  • Model parallelism desteği sayesinde çoklu GPU kullanımını en iyi şekilde değerlendirerek yüksek performanslı inference sağlar.
  • Chatbot’lar, içerik üretimi ve diğer doğal dil işleme (NLP) görevlerinde inference sürecini hızlandırır.

InstructLab with DeepSpeed: Training sürecini hızlandıran hardware optimization software. DeepSpeed, büyük dil modellerinin eğitimi sırasında bellek kullanımını optimize ederek işlem sürelerini kısaltır. FSDP (Fully Sharded Data Parallel) ile benzer işlevlere sahiptir.

InstructLab with FSDP:

  • Fully Sharded Data Parallel (FSDP), büyük AI modellerinin training sürecini daha verimli hale getiren bir framework’tür.
  • FSDP, modelin ağırlıklarını, optimizer durumlarını ve aktivasyonlarını farklı GPU’lar arasında bölerek (sharding) bellek kullanımını optimize eder ve training sürecini hızlandırır.
  • Böylece, büyük modellerin tek bir GPU’ya sığmaması gibi sorunlar aşılır ve ölçeklenebilir bir eğitim süreci sağlanır.
  • DeepSpeed ile benzer işlevlere sahiptir, ancak farklı optimizasyon teknikleri sunar.

Ayrıca, Red Hat Enterprise Linux AI 1.4, model training için indirip kullanabileceğiniz sample taxonomy tree içerir.

Sample taxonomy tree:

  • AI model training sürecinde kullanılabilecek örnek bir bilgi ve beceri (skills and knowledge) yapısı sunar.
  • Taxonomy, AI modellerinin belirli yetenekler ve görevler üzerine eğitilmesine yardımcı olan hiyerarşik bir yapı olarak düşünülebilir.
  • Kullanıcılar, bu taxonomy’yi kullanarak AI modellerini belirli alanlarda özelleştirebilir ve eğitebilir.

Red Hat Enterprise Linux AI Kurulum ve Deployment Seçenekleri

Genel kullanıma sunulan Red Hat Enterprise Linux AI, beş farklı şekilde kurulabilir ve deploy edilebilir:

  • Bare metal installation (fiziksel bir sunucuya kurulum)
  • Amazon Web Services (AWS) üzerine kurulum
  • IBM Cloud üzerine kurulum
  • Google Cloud Platform (GCP) üzerine kurulum
  • Microsoft Azure üzerine kurulum

Kurulum tamamlandıktan sonra, Red Hat Enterprise Linux AI ile open-source Granite LLMs’i manuel olarak indirerek bu modellerle chat edebilir ve interact edebilirsiniz.

Granite LLMs:

  • Granite Large Language Models (LLMs), Red Hat tarafından desteklenen open-source büyük dil modelleridir.
  • Kullanıcılar, Granite LLM’leri indirerek bu modellerle doğal dil işleme (NLP) görevleri gerçekleştirebilir, chatbot’lar oluşturabilir veya AI destekli içerik üretimi yapabilir.

Red Hat Enterprise Linux AI (RHEL AI), açık kaynak Large Language Models (LLMs) üzerine kurumsal uygulamalar geliştirmenizi sağlayan bir platformdur. RHEL AI, Red Hat InstructLab açık kaynak projesi üzerine inşa edilmiştir.

Red Hat Enterprise Linux AI ile Yapabilecekleriniz

  • Bir LLM çalıştırabilir ve açık kaynak Granite LLM ailesiyle etkileşime girebilirsiniz.
  • LAB yöntemi ile kendi bilgi veya beceri verinizi bir Git deposuna ekleyebilir ve minimum makine öğrenimi bilgisiyle bu veri üzerinde bir modeli fine-tune (ince ayar) edebilirsiniz.
  • Fine-tune edilmiş modelinizle doğrudan etkileşime geçebilir ve modelin çıktılarını kullanabilirsiniz.

Red Hat Enterprise Linux AI, büyük dil modellerine (LLMs) doğrudan katkıda bulunmanıza olanak tanır. Bu sayede, chatbot’lar da dahil olmak üzere yapay zeka tabanlı uygulamaları hızlı ve verimli bir şekilde oluşturabilirsiniz.

Red Hat Enterprise Linux AI Terimler Sözlüğü

Bu sözlük, Red Hat Enterprise Linux AI (RHEL AI) ile ilgili yaygın terimlerin tanımlarını içermektedir.

InstructLab

InstructLab, ilab komut satırı arayüzü (CLI) aracı ile büyük dil modelleri (LLMs) ile kolay etkileşim kurmanıza olanak tanıyan açık kaynak bir projedir.

Large Language Models (LLMs)

Büyük Dil Modelleri (LLMs), doğal dil üretimi yapabilen veya belirli görevleri yerine getirebilen bir yapay zeka türüdür.

Synthetic Data Generation (SDG)

Sentetik Veri Üretimi (SDG), büyük dil modellerinin (LLMs), insan tarafından oluşturulan örneklerden yararlanarak yapay veri üretmesi işlemidir. Bu yapay veri, başka LLM’lerin eğitilmesi için kullanılabilir.

Fine-tuning (İnce Ayar Eğitimi)

Fine-tuning, bir LLM’nin belirli bir bilgiye sahip olması veya belirli bir görevi yerine getirebilmesi için özel olarak eğitilmesi işlemidir.

LAB (Large-Scale Alignment for ChatBots)

“Large-Scale Alignment for ChatBots” (LAB), IBM Research tarafından geliştirilen sentetik veri tabanlı ve çok aşamalı eğitim içeren yenilikçi bir fine-tuning yöntemidir. InstructLab, sentetik veri üretimi ve eğitim sırasında LAB yöntemini kullanır.

Multi-phase training (Çok Aşamalı Eğitim)

  • LAB yönteminin kullandığı fine-tuning stratejisidir.
  • Bu süreçte, model farklı veri kümeleri üzerinde ayrı aşamalarda eğitilir.
  • Model, “epoch” adı verilen birden fazla eğitim döngüsünden geçerek her döngüde ara kontrol noktaları (checkpoint) oluşturur.
  • En iyi performans gösteren checkpoint, bir sonraki eğitim aşaması için kullanılır.
  • Son aşamada en iyi performansı veren checkpoint seçilerek nihai fine-tuned model elde edilir.

Serving (Model Sunumu)

Genellikle “bir modeli sunmak” olarak adlandırılan bu işlem, bir LLM veya eğitilmiş modelin bir sunucuya dağıtılmasıdır.

Bu sayede modelle chatbot gibi AI tabanlı uygulamalar aracılığıyla etkileşime girebilirsiniz.

Inference (Çıkarım Süreci)

Bir modelin girdi verisini analiz ederek sonuç üretme sürecidir.

Inference sırasında model, verilen girdilere dayanarak tahminlerde bulunur veya yanıtlar üretir.

Taxonomy (Sınıflandırma Sistemi)

LAB yöntemi, “taxonomy” adı verilen bir bilgi sınıflandırma sistemi üzerine kuruludur.

  • RHEL AI’de, taxonomy tree (sınıflandırma ağacı) özelleştirilebilir.
  • Bu sayede, kendi verinizle fine-tuned modeller oluşturabilirsiniz.

Granite

IBM tarafından eğitilmiş açık kaynak (Apache 2.0) bir büyük dil modelidir.

RHEL AI üzerinde, Granite ailesine ait modelleri indirerek kendi özel modellerinizi oluşturabilirsiniz.

PyTorch

GPU ve CPU üzerinde çalışan, derin öğrenme için optimize edilmiş bir tensör kütüphanesidir.

vLLM

Büyük dil modelleri (LLMs) için bellek verimli bir çıkarım (inference) ve model sunma (serving) motorudur.

  • Bellek kullanımını optimize eder, böylece modeller daha hızlı ve verimli çalışır.

FSDP (Fully Sharded Data Parallel)

“Fully Sharded Data Parallel” (Tam Parçalanmış Veri Paralelliği), büyük modellerin birden fazla cihaz arasında dağıtılarak eğitilmesini sağlayan PyTorch aracıdır.

  • Eğitim sürecini optimize eder, bellek kullanımını azaltır ve fine-tuning sürecini hızlandırır.
  • DeepSpeed ile benzer işlevlere sahiptir.

DeepSpeed

Büyük dil modellerinin (LLMs) eğitimi ve fine-tuning sürecini optimize eden bir Python kütüphanesidir.

  • Hesaplama kaynaklarını birden fazla cihaz arasında dağıtarak işlem sürecini hızlandırır.
  • FSDP ile benzer işlevlere sahiptir ve özellikle NVIDIA donanımları için önerilmektedir.

RHEL AI’de “Skills” ve “Knowledge” Nedir ve Ne İşe Yarar?

Red Hat Enterprise Linux AI (RHEL AI) üzerinde, “skills” (beceriler) ve “knowledge” (bilgi), taxonomy tree (sınıflandırma ağacına) ekleyebileceğiniz veri türleridir.

Bunları kullanarak kendi özel verilerinizle fine-tuned (ince ayar yapılmış) özel bir LLM modeli oluşturabilirsiniz.

Knowledge (Bilgi) Nedir?

  • Bilgi, AI modeline faktörler, gerçekler ve veri eklemek anlamına gelir.
  • Amaç, modelin belirli bir konuda daha doğru yanıtlar verebilmesini sağlamaktır.
  • Örneğin, bir ürünün dökümantasyonunu modele yükleyerek, modelin bu bilgilerden öğrenmesini ve sorulara dökümantasyona dayalı yanıtlar verebilmesini sağlayabilirsiniz.
  • Knowledge, AI modelinin belirli şeyleri bilmesini ve referans gösterebilmesini sağlar.

Skills (Beceriler) Nedir?

Skill (beceri), AI modeline belirli bir görevi nasıl yapacağını öğretme sürecidir.

Bilgiden farklı olarak, bilgi neyin doğru olduğunu anlatırken, beceriler AI modeline belirli görevleri nasıl yerine getireceğini öğretir.

RHEL AI üzerindeki beceriler, iki ana kategoriye ayrılır:

Compositional Skills (Bileşimsel Beceriler)

Bu beceriler, AI modeline belirli görevleri veya işlevleri yerine getirmesi için öğretilir.

İki türü vardır:

Freeform Compositional Skills (Serbest Bileşimsel Beceriler):

  • Bu beceriler, herhangi bir ek bağlam veya bilgi gerektirmeden doğrudan çalışabilir.
  • Örneğin, modelin yeni bir paragraf yazabilmesi veya basit bir soru yanıtlayabilmesi.

Grounded Compositional Skills (Bağlamsal Bileşimsel Beceriler):

  • Bu beceriler, çalışabilmek için ek bağlam veya bilgi gerektirir.
  • Örneğin, modele bir tablo okuma becerisi kazandırırken, tablo düzeninin bir örneğini de sunmanız gerekir.

Foundation Skills (Temel Beceriler)

  • Matematik, mantık ve kodlama gibi temel yetenekleri kapsar.
  • AI modeline problemleri çözme, hesaplamalar yapma ve kod yazma yeteneği kazandırır.

Bunlar Size Ne Sağlar?

  • Özel bir LLM modeli oluşturabilirsiniz: Kendi bilgilerinizi (knowledge) ve becerilerinizi (skills) tanımlayarak, modelin size özgü verilerle eğitilmesini sağlayabilirsiniz.
  • AI modelinizi özelleştirebilirsiniz: Örneğin, firmanızın ürünleriyle ilgili bir LLM oluşturabilir ve teknik dokümantasyona dayalı doğru yanıtlar vermesini sağlayabilirsiniz.
  • Modelin belirli görevleri daha iyi yapmasını sağlayabilirsiniz: AI modeline yalnızca bilgi vermekle kalmaz, aynı zamanda belirli görevleri nasıl yerine getireceğini de öğretebilirsiniz.

RHEL AI İçin Donanım Gereklilikleri

Aşağıdaki tablo, Granite öğrenci modelini özelleştirmek için tam InstructLab uçtan uca iş akışını çalıştırmak için gereken donanım gereksinimlerini göstermektedir.

Bu iş akışı şunları içerir:

  • Sentetik veri üretimi (SDG – Synthetic Data Generation)
  • Çok aşamalı eğitim (Multi-phase training)
  • Özelleştirilmiş Granite modelinin değerlendirilmesi

Granite Modelleri için Inference ve Serving Donanım Gereksinimleri

Aşağıdaki tablo, Red Hat Enterprise Linux AI üzerinde bir modelin inference ve serving işlemlerini gerçekleştirmek için gerekli olan minimum donanım gereksinimlerini göstermektedir.

Red Hat Enterprise Linux AI (RHEL AI), büyük dil modelleri (LLMs) ile özelleştirilmiş ve güçlü yapay zeka çözümleri geliştirmek için kapsamlı bir ekosistem sunar. InstructLab, Granite LLMs ve LAB yöntemleri sayesinde, AI modellerini verimli bir şekilde eğitmek, ince ayar yapmak (fine-tuning) ve optimize etmek mümkün hale gelir. Sentetik veri üretimi (SDG), çok aşamalı eğitim (multi-phase training) ve verimli inference çözümleri ile RHEL AI, kurumsal AI uygulamalarının geliştirilmesini hızlandırır ve ölçeklenebilir yapay zeka çözümlerine katkı sağlar. Ayrıca, GCP, AWS, IBM Cloud ve bare-metal gibi farklı platformlarda dağıtım seçenekleri sunarak geniş bir kullanım yelpazesi sağlar.

Bu makalede, RHEL AI’nin sunduğu araçlar, yöntemler ve donanım gereksinimleri ele alındı. AI modelleriyle çalışma sürecini daha iyi anlamak ve özelleştirilmiş modeller oluşturmak isteyenler için RHEL AI güçlü bir altyapı sunuyor. Açık kaynak LLM’ler ve Red Hat ekosistemi, yenilikçi çözümler üretme konusunda büyük fırsatlar barındırıyor.

Sarav Asiye Yiğit  – 8 Mart 2025

Kaynakça:

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_ai/1.4/html/installing/installing_overview#installing_overview

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_ai/1.4/html/getting_started/rhelai-overview