Ana içeriğe geç

Mixtral 8X22B ile Başlarken

Mistral AI'ın Mixtral 8X22B modeli, verimli SMoE mimarisiyle büyük dil modellerinde nasıl devrim yarattığını; üstün performans ve ölçeklenebilirlik sunduğunu keşfedin.
· 12 dk. oku

Yapay Zeka ile Keşfedin

OpenAI, 2022’de ChatGPT’yi çıkardığında, Microsoft gibi bir devin desteklediği bu kadar iyi bir ürünle başka şirketlerin rekabet edip edemeyeceğini birçok kişi merak etti. Herkes Google ve Meta gibi büyük teknoloji şirketlerinden bir hamle beklerken, 2023’te Mistral AI 7B modeliyle ortaya çıktı ve neredeyse iki katı boyuttaki tüm açık kaynak LLM’leri geride bıraktı.

O zamandan beri Mistral AI, LLM yarışında önemli bir oyuncu haline geldi. Nisan 2024’te, o dönemin en iyi açık kaynak LLM’i Llama 2’yu birçok ölçütte açıkça geride bırakan Mixtral 8X22B’yi yayımladılar.

Bu eğitimde, Mixtral 8X22B modelini mimarisinden onunla bir RAG hattı kurmaya kadar ayrıntılı olarak ele alacağız.

Mixtral 8x22B Modelini Benzersiz Kılan Nedir?

Mixtral 8X22B, Mistral AI tarafından yayımlanan en yeni modeldir. 141 milyar parametreli seyrek uzman karışımı (SMoE) mimarisine sahiptir. Avantajlarının çoğunu sağlayan da bu SMoE mimarisidir. SMoE, farklı görevler için farklı küçük modellerin (uzmanların) kullanıldığı; yalnızca gerekli olanların etkinleştirildiği için zaman ve hesaplama gücü tasarrufu sağlayan bir sinir ağı türüdür.

Öncelikle model, boyutuna göre benzersiz bir maliyet verimliliği sunar; açık kaynak topluluğunda en iyi performans/maliyet oranını sağlar:

image.png

Yukarıdaki görselde önde gelen bazı açık kaynak LLM’ler ve belirli bir performans eşiğine ulaşmak için ihtiyaç duydukları etkin parametre sayısı yer alıyor. Mixtral sol üst köşede; bu da, benzer segmentteki bir model olan Command R+’a kıyasla %75+ performansa ulaşmak için belirgin şekilde daha az parametre kullandığı anlamına geliyor.

Mixtral 8X22B 141 milyar parametreye sahip olsa da, seyrek aktivasyon deseni çıkarım sırasında yalnızca 39 milyar parametre kullanır. Bu da onu, Llama 2 70B gibi 70 milyar parametreli yoğun modellerden daha yüksek performanslı ve daha hızlı kılar. Ayrıca günümüz açık kaynak LLM’lerinde çok nadir görülen 64k belirteçlik bir bağlam penceresine sahiptir.

Model aynı zamanda en serbest açık kaynak lisansıyla — Apache 2.0 — gelir. Çalıştırma maliyetinin düşüklüğüyle birleştiğinde, Mixtral 8X22B ince ayar senaryoları için mükemmel bir tercihtir.

Mixtral 8X22B Ölçütleri

Mixtral 8x22B, standart sektör ölçütlerini çok yüksek skorlarla geçiyor. Ölçütlerin çoğunda, modelin benzer başlıca alternatiflerine kıyasla ne kadar iyi performans gösterdiğine vurgu yapıldı:

  • Llama 70B: Meta tarafından sunulur; büyük ölçekli dil modelleme, metin üretimi ve diyalog sistemleri için uygundur.
  • Command R+: Cohere tarafından sunulan 104B parametreli model; özellikle uzun bağlamlı görevler ve RAG hatları için tasarlanmıştır.

Örneğin Mixtral 8X22B, beş dilde akıcıdır: İngilizce, Almanca, Fransızca, İspanyolca ve İtalyanca. Kanıtı aşağıdaki tabloda görülebilir:

image.png

Üç ölçütte dil görevlerinde Llama 2 70B’yi geride bırakır:

  • Arc-C: Abstraction and Reasoning Corpus (ARC) ölçütü, sağduyu akıl yürütmede yapay zekâ performansını ölçmek için tasarlanmıştır.
  • HellaS: HellaSwag, sağduyu akıl yürütmeye yönelik bir diğer ölçüttür.
  • MMLU: Massive Multitask Language Understanding ölçütü.

Saf sağduyu akıl yürütme ve İngilizce bilgi sorularında da Mixtral yine etkileyici bir performans sergiler:

image.png

İki ölçütte Command R+’dan az farkla geride kalsa da diğerlerinde belirgin biçimde üstündür.

Ve en belirleyici noktası — Mixtral 8X22B, matematik ve kodlama görevlerinde tüm alternatiflerini ezip geçer:

image.png

Şimdi, modelin en son teknoloji performansını nasıl elde ettiğine bakalım.

Mixtral 8X22B’nin Arkasındaki Mimari — SMoE Açıklaması

Seyrek uzman karışımı (SMoE) mimarisini daha iyi anlamak için basit bir benzetme yapalım. Diyelim ki bir projede 100 kişi çalışıyor.

  • Geleneksel modeller: Tüm ekip (tüm model parametreleri) proje bilgisinin tamamını analiz eder ve herkes her görevde birlikte çalışır.
  • SMoE mimarisi: Akıllı bir takım lideri görevleri uzmanlığa göre atar. Lider (yönlendirici veya geçitleme ağı olarak adlandırılır) her bir bilgi parçasını (belirteci) onu en iyi şekilde işleyebilecek küçük bir uzman grubuna yönlendirir. Yalnızca doğru uzmanlar sorun üzerinde çalışır; bu da süreci çok daha hızlı ve odaklı hale getirir.

SMoE modellerinin temel bileşenleri şunlardır:

  1. Uzmanlar: Tüm modele kıyasla daha küçük sinir ağları. Mixtral 8 uzman kullanır; her biri belirli türde bilgi veya görevleri ele alır. Örneğin bir uzman matematik ve mantık sorgularını, bir diğeri Fransızcayı ele alabilir.
  2. Yönlendirici (geçitleme ağı): Geçitleme ağı, hangi belirteçlerin hangi uzmana gönderileceğini belirler. Yönlendirici genellikle belirtecin içeriği ve mevcut bağlam gibi faktörleri dikkate alan küçük bir sinir ağıdır. Bir belirteci bir uzmana nasıl yönlendireceğiniz, herhangi bir MoE modelinde alınması gereken büyük kararlardan biridir.
  3. Toplama: Uzmanlar atanan belirteçleri işledikten sonra çıktıları birleştirilir. Bu, basit ortalama alma veya daha karmaşık bir ağırlıklandırma stratejisi gibi çeşitli yollarla yapılabilir.

Bu tür bir model yapısının birçok faydası vardır:

  • Verimlilik: Her girdi için yalnızca küçük bir uzman alt kümesini etkinleştirerek SMoE hesaplama maliyetlerini düşürür ve işlem hızını artırır.
  • Ölçeklenebilirlik: Eğitimi veya çıkarım süresini önemli ölçüde etkilemeden havuza daha fazla uzman ekleyebilirsiniz. Bu, yüksek kapasiteli çok büyük modeller inşa etmenize olanak tanır.
  • Doğruluk: Belirli görevlere özel uzmanlar, tek ve yekpare bir ağa göre daha iyi performans sağlayabilir. Ölçütler, Mixtral’ın özellikle dil, matematik ve kodlama görevlerinde iyi olduğunu gösterdi ve bunu büyük olasılıkla belirli uzmanlarına borçluyuz.

Ancak yeni oldukları için SMoE modelleri, henüz etkili şekilde çözülmemiş özgün zorluklar sunar:

  • Eğitim karmaşıklığı: Geçitleme ağı ve uzman koordinasyonunun getirdiği ek karmaşıklık nedeniyle bir SMoE modelini eğitmek oldukça zorlu olabilir.
  • Doğru uzmanları bulmak: En uygun performans için doğru sayıda ve türde uzman belirlemek kritik önemdedir.
  • Yüksek bellek kullanımı: Mimarisi nedeniyle, çıkarım sırasında modelin tüm parametreleri belleğe yüklenmelidir; bu da GPU vRAM’inizi tamamen doldurur. Mixtral 8X22B ile çıkarım çalıştırmak için en az 300 GB belleğe sahip bir GPU gerekir.

Mixtral 8X22B memory usage

Özetle, model ölçeği daha iyi model kalitesi için en önemli faktörlerden biri olduğundan, etkin parametre sayısını azaltmak modelleri eğitmeyi önemli ölçüde daha ucuz ve hızlı kılar. Hesaplama bütçesi kısıtlıyken, daha küçük bir modeli daha fazla adımda eğitmektense daha büyük bir modeli daha az adımda eğitmek daha iyidir.

Uzman karışımı mimarileri, modellerin çok daha az hesaplama ile eğitilmesine olanak tanır; bu da yoğun bir modele kıyasla aynı bütçe altında model boyutunu dramatik şekilde büyütmenizi sağlar. Herhangi bir SMoE modeli, ön eğitim sırasında yoğun muadilinin kalitesine çok daha hızlı ulaşmalıdır.

Mixtral 8x22B ile Başlarken

Bu bölümde, Mistral API’sini kullanarak Mixtral 8X22B modelini nasıl kullanmaya başlayacağımızı öğreneceğiz. Model yaklaşık 80 gigabayt boyutunda ve 300 gigabaytlık bir GPU gerektirdiğinden, tüketici donanımı bir yana, herhangi bir bulut sağlayıcısında çalıştırmak biraz zor ve maliyetli olacaktır.

Hesap kurulumu

Mistral AI, API anahtarınızı almak için bir hesap oluşturmanızı ve faturalama bilgilerinizi girmenizi ister. Lütfen hesabınızı oluşturmak için mistral.ai adresine gidin. Kimlik bilgilerinizle giriş yaptıktan sonra console.mistral.ai adresindeki Mistral konsolunuza yönlendirileceksiniz.

Mixtral 8X22B sign 
-up

Ardından “Billing” bölümüne gidip ödeme bilgilerinizi ekleyin:

Mixtral 8X22B payment

Sonra, biraz kredi ekleyin:

Mixtral 8X22B add credits

Bu sayede “API KEYS” bölümünden bir API anahtarı oluşturabileceksiniz:

Mixtral 8X22B API key

Bir anahtar oluşturduğunuzda yalnızca bir kez görüntülenir, bu yüzden güvenli bir yerde saklayın. Bir sonraki bölümde kullanacağız.

Ortam kurulumu

Şimdi, Mistral API’yi çalıştırmak için sanal bir ortam kuralım. Conda kullanacağız:

$ conda init  # Run if your Conda executable is new
$ conda env create -n mistral python==3.8 -y
$ conda activate mistral

Ardından, mistralai Python paketini birkaç temel araçla birlikte kurabiliriz:

$ pip install mistralai
$ pip install python-dotenv ipykernel
$ ipython kernel install --user --name=mistral

Son komut, yeni kurulan Conda ortamını bir Jupyter çekirdeği olarak ekler.

Mistral API anahtarımızı bir not defterinden güvenli biçimde okumak için python-dotenv paketini kullanacağız. Bunun için çalışma dizininizde bir .env dosyası oluşturun:

$ touch .env

Ardından dosyayı aşağıdaki söz dizimiyle anahtarınızı içerecek şekilde düzenleyin:

MISTRAL_API_KEY=YOUR_KEY_HERE

Ayrıca .env dosyasını .gitignore’a ekleyerek GitHub’a yanlışlıkla sızmamasını sağlayın:

$ echo ".env" >> .gitignore

Şimdi, az önce kaydettiğimiz anahtarı okumak için os kütüphanesiyle birlikte load_dotenv fonksiyonunu kullanabiliriz:

import os
from dotenv import load_dotenv

load_dotenv()

api_key = os.getenv("MISTRAL_API_KEY")

Bir sohbet istemcisi kullanma

Son olarak, herhangi bir Mistral modeliyle etkileşim kurmak için MistralClient nesnesini kullanacağız:

from mistralai.client import MistralClient

client = MistralClient(api_key=api_key)

İstemci, Mistral sunucularına bağlanmak için API anahtarımıza ihtiyaç duyar. Ardından, Mistral modelleriyle diyalogları tutmak için ChatMessage sınıfını içe aktaracağız:

from mistralai.models.chat_completion import ChatMessage

model = "open-mixtral-8x22b"

message = "Who is the best French football player of all time?"

chat_response = client.chat(
   model=model,
   messages=[ChatMessage(role="user", content=message)],
)

print(chat_response.choices[0].message.content[:300])
Determining the "best" French football player of all time can be subjective and depends on personal opinion. However, one player who is often mentioned in this context is Zinedine Zidane. He had an impressive career both for the French national team and at club level. He was a key player in France's

Bir yanıt aldık — yani her şey doğru şekilde kuruldu.

Bir ChatResponse nesnesi genellikle birden fazla yanıt barındırır; bu yüzden ilkini seçip bir alt metin bastırıyoruz.

Mixtral 8X22B’nin Pratik Kullanım Alanları

Düz metin üretiminin ötesinde, Mixtral ile çok daha fazlasını yapabilirsiniz:

  • Gömme vektörleri (embeddings) üretme
  • Parafraz tespit sistemi oluşturma
  • Tam bir RAG hattı
  • Fonksiyon çağırma

vb. Şimdi bu senaryoların her birine tek tek bakacağız.

Metin üretimi

Önceki bölümde, sohbet istemcisinden büyük bir metin çıktısı üretebildik. Bazı durumlarda, yanıtın uzun olacağını öngördüğümüzde, tıpkı ChatGPT’de olduğu gibi çıktıyı akış halinde almak mantıklıdır. Bunu Mixtral ile de yapabiliriz

messages = [ChatMessage(role="user", content="What led to Zidane's ban from football?")]

# With streaming
stream_response = client.chat_stream(model=model, messages=messages)

for chunk in stream_response:
   print(chunk.choices[0].delta.content, end="")

chat yöntemi yerine, yanıtı talep üzerine parça parça veren chat_stream’i kullanabiliriz:

Mixtral 8X22B text streaming

Gömme vektörleri üretme

Gömme vektörleri, LLM uygulamalarının kilit bileşenleridir. Bir gömme, metnin anlamsal içeriğini yüksek boyutlu bir vektör uzayındaki konumuyla yakalayan bir vektör temsildir. İki gömme arasındaki mesafe yakınsa, anlam bakımından benzer oldukları anlamına gelir. Örneğin apple kelimesi, gömme uzayında keyboard’dan ziyade orange’a daha yakın olacaktır.

Mistral API, metin için en son teknoloji gömme modelleri sunar. Kısaca nasıl çalıştıklarına bakalım:

to_embed = ["Is Messi better than Zidane?", "How about Ronaldo?"]

embeddings_batch_response = client.embeddings(
   model="mistral-embed",
   input=to_embed,
)

type(embeddings_batch_response)
mistralai.models.embeddings.EmbeddingResponse

Önce to_embed içinde gömülecek cümlelerden oluşan bir liste oluşturuyoruz. Sonra bunları, bir gömme modeli adı olan mistral-embed ile birlikte embeddings yöntemine iletiyoruz. Sonuç bir EmbeddingResponse nesnesidir. data özniteliğinin uzunluğunu yazdırdığımızda, gömülen iki cümle için iki vektör olduğunu görürüz:

len(embeddings_batch_response.data)
2

Vektörlerin boyutlarını da alabiliriz:

first_sentence = embeddings_batch_response.data[0]

len(first_sentence.embedding)  # Embedding dimension
1024

1024 sonucu aldık; bu da Mistral’ın metin uzunluğundan bağımsız olarak her metni 1024 boyutlu bir vektöre gömdüğü anlamına gelir.

Daha yüksek boyutlu gömmelerin metin bilgisini daha iyi yakalayabileceğini ve performansı artırabileceğini, ancak barındırma ve çıkarım için daha fazla hesaplama gerektirdiğini unutmayın.

Bu bölümde Mixtral 8X22B modelini kullanmamış olsak da, basit bir RAG hattı oluştururken gömmeleri anlamak önemli olacaktır.

Gömme vektörleriyle parafraz tespiti

Daha önce belirttiğimiz gibi, iki gömme arasındaki mesafe yakınsa, anlamları da yakın olabilir. Bu fikri genişleterek ilkel bir parafraz tespit sistemi kurabiliriz; çünkü iki cümle arasındaki mesafe kısaysa, bunların parafraz olma ihtimali vardır.

Önce, verilen bir girdi için gömme vektörünü döndüren bir fonksiyon oluşturacağız:

def get_text_embedding(input, client):
   embeddings_batch_response = client.embeddings(
model="mistral-embed", input=input
)

   return embeddings_batch_response.data[0].embedding

Ardından, birbirlerine karşı parafraz olup olmadıklarını kontrol etmek istediğimiz cümle listesini tanımlayıp gömmelerini alacağız:

sentences = [
   "What led to Zidane's ban from football?",
   "This is a totally different sentence.",
   "What caused Zidane to get banned from football?",
]

sentence_embeddings = [get_text_embedding(t, client) for t in sentences]

Daha sonra, itertools kullanarak cümlelerin tüm olası ikili kombinasyonlarını oluşturacağız:

import itertools

sentence_embeddings_pairs = list(itertools.combinations(sentence_embeddings, 2))
sentence_pairs = list(itertools.combinations(sentences, 2))

print(sentence_pairs[0])
("What led to Zidane's ban from football?", 'This is a totally different sentence.')

Ardından, her cümle gömme çifti arasındaki Öklidyen mesafeyi yazdıracağız:

from sklearn.metrics.pairwise import euclidean_distances

for s, e in zip(sentence_pairs, sentence_embeddings_pairs):
   distance = euclidean_distances([e[0]], [e[1]])

   print(s, distance)
("What led to Zidane's ban from football?", 'This is a totally different sentence.') [[0.84503319]]
("What led to Zidane's ban from football?", 'What caused Zidane to get banned from football?') [[0.28662641]]
('This is a totally different sentence.', 'What caused Zidane to get banned from football?') [[0.83794058]]

İkinci çift arasındaki mesafe yakın, bu da birbirlerinin parafrazı olabileceklerini gösterir.

Mixtral 8X22B’yi bir RAG hattında kullanma

LLM’ler yığınla veri üzerinde eğitilir; ancak her zaman güncel değildir ve özel veri kümelerinize erişimleri yoktur. Sadece modelin mevcut diğer veri kümeleri hakkında soruları yanıtlamasını istiyorsanız ince ayar yapmak çok pahalıdır.

Bu nedenle Bilgi Getirmeyle Zenginleştirilmiş Üretim (RAG) hatları popülerlik kazandı. Maliyetli ince ayara gerek kalmadan, bir LLM’e eğitim verisi dışında kalan özel bilgileri işleme ve bunlar hakkında soruları yanıtlama becerisi kazandırabilirsiniz.

Bu bölümde, 1440 makalesindeki dünkü haberlerden bilgi alan temel bir RAG hattı kuracağız. Haberlerin bir kısmını bu metin dosyasına kaydettim; GitHub’ımdan indirebilir veya kopyalayıp news_piece.txt adlı bir dosyaya kaydedebilirsiniz.

Dosyanın içeriğini okumak için pathlib kütüphanesini kullanabiliriz:

from pathlib import Path

file = Path("news_piece.txt")
text = file.read_text()

Daha sonra, RAG sistemleri metin parçalar halinde olduğunda daha iyi çalıştığı için dokümanı parçalara böleceğiz. Bu örnekte, metni her biri 512 karakterlik parçalara ayıracağız:

chunk_size = 512
chunks = [text[i : i + chunk_size] for i in range(0, len(text), chunk_size)]

len(chunks)
4

Ardından, son bölümdeki get_text_embedding fonksiyonunu kullanarak her parçanın gömmelerini alacağız:

text_embeddings = np.array([get_text_embedding(chunk, client) for chunk in chunks])

Sonraki adımda, gömmeleri verimli işleme ve getirime uygun olması için bir vektör veritabanında saklamak yaygın bir uygulamadır. Vektör veritabanı için birçok seçenek vardır. Biz, benzerlik araması için açık kaynak bir veritabanı olan faiss’i kullanacağız.

import faiss  # pip install faiss

d = text_embeddings.shape[1]
index = faiss.IndexFlatL2(d)

index.add(text_embeddings)

index, veritabanımızın yapısını tanımlayan bir Index sınıfı örneğidir. d, gömme uzayının boyutudur.

add yöntemini çalıştırmak, dokümanımızdaki bilgileri vektör veritabanına ekler; bu da artık onun hakkında sorular sorabileceğimiz anlamına gelir. Ancak bunu yapmadan önce, sahip olduğumuz soruların da bir gömmeye dönüştürülmesi gerekir:

import numpy as np

questions = [
   "How much is Microsoft going to spend for its new data center?",
   "When did FTX collapse?",
]

question_embeddings = np.array([get_text_embedding(q, client) for q in questions])

Ardından, question_embeddings dizisini Index nesnesinin search yöntemine verebiliriz:

D, I = index.search(question_embeddings, k=4)  # distance, index

retrieved_chunk = [chunks[i] for i in I.tolist()[0]]

search yöntemi, sorularımıza en olası yanıtı barındıran vektörleri (benzerlik aramasıyla) döndürür:

len(retrieved_chunk)
4
print(retrieved_chunk[2])
ay defrauded investors in full and provide the vast majority with interest. The failed cryptocurrency exchange platform filed its proposal late Tuesday to a federal bankruptcy court for approval.

Since FTX collapsed in 2022, CEO John Ray III (see previous write-up) has worked to track down more than $8B in missing assets to repay an estimated $11.2B owed to creditors. This week, Ray said the company has recovered between $14.5B and $16.3B, with much of the funds tied to government-seized FTX properties or

Şimdi, bu metni Mixtral 8X22B modeli için bağlam olarak verip sorularımızı onun hakkında sorabiliriz. İstemi oluşturalım:

prompt = f"""
Context information is below.
---------------------
{retrieved_chunk}
---------------------
Given the context information and not prior knowledge, answer the query.
Query: {questions}
Answer:
"""

Şimdi, client kullanarak modele iletebiliriz:

chat_response = client.chat(
   model=model,  # Mixtral 8x22B
   messages=[ChatMessage(role="user", content=prompt)],
)

print(chat_response.choices[0].message.content)
Microsoft will spend $3 billion for its new data center in Racine, Wisconsin. FTX collapsed in 2022.

Yanıtlar doğru!

Çok basit bir RAG hattı kurduk. Pratikte RAG hatları çok güçlüdür — çeşitli girdileri (metin, görsel, ses, video) işleyebilir ve tek bir metin dosyasını ele alan bizim sürümümüze kıyasla devasa ölçekte çalışabilir.

Güçlü RAG hatlarının nasıl kurulacağını öğrenmek istiyorsanız, LangChain ile LLM Uygulamaları Nasıl Geliştirilir adlı eğitimimize göz atın.

Fonksiyon çağırma

Mixtral 8X22B modelinin yerleşik yeteneklerinden biri fonksiyon çağırmadır. LLM bağlamında fonksiyon çağırma, LLM’lerin belirli fonksiyonların çalıştırılmasını tetikleyecek şekilde istemleri anlamasına ve yanıtlamasına olanak tanıyan bir tekniktir. Bunun anlamı kısaca şöyledir:

  • Standart LLM yanıtı: LLM’ler, eğitim verilerine dayalı olarak bir isteme metin üretir. Bu yanıt genellikle öngörülemez ve yapılandırılmamıştır.
  • Mixtral ile fonksiyon çağırma: Fonksiyon çağırma ile Mixtral 8X22B, istem türüne göre çıktısını yapılandırmak için önceden tanımlı özel fonksiyonları çağıracak şekilde öğretilebilir. Mixtral genellikle önceden tanımlayabileceğiniz yapılandırılmış JSON formatında çıktı döndürür. Bu da yanıtlarını çok daha öngörülebilir ve yapılandırılmış kılar.

Fonksiyon çağırmanın nasıl çalıştığını göstermek bu makalenin kapsamı dışındadır. Ancak, nasıl işlediğini görmek için Mistral AI dokümanlarının bu sayfasına göz atabilirsiniz.

Sonuç

Bu yazıda, Mistral AI tarafından Nisan 2024’te yayımlanan Mixtral 8X22B modelini öğrendik. Mimari avantajları sayesinde, Llama 2 ve Command R+ gibi popüler modelleri birçok ölçütte geride bırakarak bugün lider açık kaynak LLM’lerden biri konumunda.

Mimari ayrıntılarının yanı sıra, onu metin üretimi, parafraz tespiti ve bir RAG hattı kurma gibi birkaç pratik senaryoda nasıl kullanacağımızı öğrendik. Mixtral 8X22B modelinin tüm potansiyelini açığa çıkarmak istiyorsanız, şu ilgili kaynaklara göz atın:

Bexruz (Bex) Tuychiev

Yazar

Bexruz (Bex) Tuychiev

2 yılı aşkın deneyime sahip bir veri bilimi içerik üreticisiyim ve Medium’da en büyük takipçi kitlelerinden birine sahibim. Yapay zekâ ve makine öğrenimi üzerine, biraz da alaycı bir üslupla yazılmış, ayrıntılı makaleler kaleme almayı seviyorum; çünkü onları biraz daha az sıkıcı hale getirmek için bir şeyler yapmak gerekiyor. 130’un üzerinde makale ve bir de DataCamp kursu ürettim; bir diğeri de hazırlık aşamasında. İçeriklerim 5 milyondan fazla kişi tarafından görüldü; bunların 20 bini Medium ve LinkedIn’de takipçim oldu. 

Konular

İlgili