Muhakeme Modelleri

Cahit Barkin Ozer
27 min readJan 25, 2025

--

Kendiliğinden düşünce zinciri (chain of thought) kullanan OpenAI o1, OpenAI o3 veya Marc-o1 ve Deepseek r1 gibi muhakeme (reasoning) modellerini inceliyoruz.

Yazıyı anlattığım video:

Yeni türde modeller giderek daha popüler hale geliyor. Bu modellerin ilki OpenAI’nin o1 modeliyle başladı ve ardından o3 modeli piyasaya sürüldü. Sonrasında Google’ın Flash Thinking modeli bu trende katıldı. Bu modeller, doğaları gereği chain of thought (düşünce zinciri) yaklaşımını benimser; yani, birden fazla düşünce tokeni üreterek daha yavaş ama daha akıllı bir şekilde çalışırlar. Özellikle o3 modeli, yüksek maliyetine rağmen insan ARC-AGI seviyesinde büyük bir sıçrama yaparak dikkat çekti.

OpenAI, modeli daha uzun süre eğittiklerinde, daha fazla düşünmesine izin verdiklerinde ve ortak bir görüşle (en az 100 örnek lazım) çıktıdan emin olduklarında daha yüksek doğruluk elde ettiklerini tespit etti. Bu nedenle o1 modelini bu prensiplere dayanarak geliştirdiler. [1]

OpenAI o1 serisi modelleri, karmaşık muhakeme yapmak için pekiştirmeli öğrenme ile eğitilmiş yeni büyük dil modelleridir. o1 modelleri, kullanıcıya yanıt vermeden önce uzun bir dahili düşünce zinciri üreterek yanıt vermeden önce düşünür. o1 modelleri, bilimsel muhakemede mükemmeldir; rekabetçi programlama sorularında (Codeforces) 89. yüzdelikte yer alır, ABD Matematik Olimpiyatı (AIME) elemelerinde ABD’deki ilk 500 öğrenci arasında yer alır ve fizik, biyoloji ve kimya problemlerinde (GPQA) bir ölçüt üzerinde insan doktora düzeyinde doğruluğu aşar. [2]

OpenAI’ın o1 modelinin çalışma şekli. [1]
Muhakeme modellerinde çıktı verilmeden önce girdiye göre muhakeme belirteçleri üretilir. Bu da girdinin uzunluğunu daha limitli hale getirir. [1]

OpenAI o1 modeli büyük ölçekli pekiştirmeli öğrenme kullanarak cevap vermeden önce düşünme zinciri oluşturur. Düşünce zincirleri istemlere göre daha uzun ve yüksek kalitelidir. Düşünce zincirlerinde hata düzeltme, birçok stratejinin denenmesi, problemlerin alt görevlere bölünmesi gibi işlemeler bulunur. [1]

OpenAI o1 Modelini İstemleme

Basit, kısa, net, direkt istemler yazın. İstemlerinizde adım adım ve düşünce zinciri yöntemlerini uygulamayın. o1 modeli kendiliğinden bu işlemi zaten yaptığı için sizin isteğinizde düşünce zinciri olması muhakemeyi iyice karmaşıklaştıracaktır. Karmaşık istemleri farklı bölümlere ayrıştırıcı semboller kullanarak ayırın. Aşırı açıklama vermek yerine bağlamsal örnek vererek modelin görevin genel alanını anlamasına yardımcı olun. [2]

Kötü örnek [1]:

"İnsüline dahil olan tüm moleküller için SMILES kimliklerini çıkaran bir fonksiyon üret."
"Bunu adım adım düşünün ve hiçbir adımı atlamayın:"
"- İnsüline dahil olan tüm molekülleri tanımlayın"
"- Fonksiyonu oluşturun"
"- Her molekülü döngüye alın, her birini fonksiyona çıkarın ve bir SMILES kimliği döndürün"
"Moleküller: "

Doğru hali [1]:

"İnsüline dahil olan tüm moleküllerin SMILES kimliklerini çıkaran bir fonksiyon üret."

Yapılandırılmış istemlere örnek [1]:

"<instructions>Siz, kaliteli depolama çözümleri sağlayıcısı olan AnyCorp için bir müşteri hizmetleri asistanısınız. Rolünüz, kullanıcının sorusunu yanıtlamak için politikanızı takip etmektir. "
"Her zaman nazik ve saygılı olun.</instructions>\n"
"<policy>**AnyCorp Müşteri Hizmetleri Asistanı Politikası**\n\n"
"1. **İadeler**\n"
" - AnyCorp'un iade yönergelerine uygun olarak müşterilere iade teklif etme yetkiniz var.\n"
" - Tüm iade işlemlerinin düzgün bir şekilde belgelenmesini ve "
"hızlı bir şekilde işlenmesini sağlayın.\n\n"
"2. **Şikayetleri Kaydetme**\n"
" - Müşteri şikayetlerini dikkatle dinleyin ve tüm ilgili "
"ayrıntıları doğru bir şekilde kaydedin.\n"
" - Endişelerinin ele alınacağına dair güvence verin ve gerektiğinde sorunları iletin.\n\n"
"3. **Ürün Bilgisi Sağlama**\n"
" - Ürün hakkında doğru ve yararlı bilgiler sağlayın. AnyCorp'un depolama "
"çözümleri.\n"
" - Müşterilere etkili bir şekilde yardımcı olmak için güncel ürünler, özellikler ve güncellemeler hakkında bilgi sahibi olun.\n\n"
"4. **Profesyonel Davranış**\n"
" - Tüm müşteri etkileşimlerinde nazik, saygılı ve profesyonel bir tavır sergileyin.\n"
" - Müşteri sorularını derhal yanıtlayın ve memnuniyeti sağlamak için gerektiğinde takip edin.\n\n"
"5. **Uyumluluk**\n"
" - Müşteri etkileşimleri sırasında tüm AnyCorp politikalarına ve prosedürlerine uyun.\n"
" - Kişisel bilgileri gizli tutarak müşteri gizliliğini koruyun.\n\n6. **Reddetmeler**\n"
" - Bu konuların dışında sorular alırsanız, "
"cevaplamayı reddedin ve konuşabileceğiniz konuları hatırlatın.</policy>\n"

Birkaç atım yöntemi o1 modellerinde de işe yaramaktadır [1]:

"<prompt>Rekabet hukuku konusunda uzmanlaşmış bir avukatsınız, "
"işletme sahiplerine sorularında yardımcı oluyorsunuz.</prompt>\n"
"<policy>Bir hukuk profesyoneli olarak, gizliliği ve profesyonelliği koruyarak rekabet hukuku hakkında net ve doğru "
"bilgiler sağlayın. Yeterli bağlam olmadan belirli "
"yasal tavsiyeler vermekten kaçının ve gerektiğinde müşterileri kişiselleştirilmiş danışmanlık almaya teşvik edin.</policy>\n"
"""<example>
<question>
Ortak bir pazarlama kampanyasında bir rakiple işbirliği yapmayı düşünüyorum. Bilmem gereken herhangi bir antitröst sorunu var mı?
</question>
<response>
Ortak bir pazarlama kampanyasında bir rakiple işbirliği yapmak, özellikle 1890 Sherman Antitröst Yasası (15 U.S.C. §§ 1–7) olmak üzere ABD antitröst yasaları kapsamında antitröst endişelerine yol açabilir. Sherman Yasası'nın 1. Bölümü, herhangi bir sözleşmeyi, birleşimi veya eyaletler arasındaki ticareti veya ticareti mantıksız bir şekilde kısıtlayan komplo.
**Önemli Hususlar:**
1. **Per Se Yasadışı Anlaşmalar:** Fiyat sabitleme, ihaleye fesat karıştırma ve pazar tahsis anlaşmaları gibi belirli işbirlikleri otomatik olarak yasadışı ("per se" ihlalleri) olarak kabul edilir. Örneğin, *United States v. Topco Associates, Inc.*, 405 U.S. 596 (1972) davasında Yüksek Mahkeme, rakipler arasındaki pazar bölme anlaşmalarının Sherman Yasası uyarınca per se yasadışı olduğuna karar verdi.
2. **Mantık Kuralı Analizi:** Per se yasadışı olmayan işbirlikleri, rekabeti destekleyen faydaların rekabeti engelleyen etkilerden daha ağır basıp basmadığını değerlendiren "mantık kuralı" uyarınca değerlendirilir. *Broadcast Music, Inc. v. Columbia Broadcasting System, Inc.*, 441 U.S. 1 (1979) davasında Mahkeme, rakipler arasındaki belirli ortak girişimlerin rekabeti teşvik etmeleri durumunda yasal olabileceğini kabul etti. 3. **Bilgi Paylaşımı Riskleri:** Fiyatlandırma stratejileri veya müşteri verileri gibi rekabet açısından hassas bilgilerin paylaşılması, antitröst ihlallerine yol açabilir. Adalet Bakanlığı ve Federal Ticaret Komisyonu, işbirliğini kolaylaştırabilecek alışverişlere karşı uyarmaktadır (*Rakipler Arasında İşbirlikleri İçin Antitröst Rehberi*, 2000).
**Öneriler:**
- **Kapsamı Tanımlayın:** Fiyatlandırma veya pazar bölümü gibi rekabetçi yönleri dahil etmeden pazarlama kampanyasına odaklanmak için iş birliğinin parametrelerini açıkça belirleyin.
- **Güvenlik Önlemlerini Uygulayın:** Pazarlama çabası için gerekli olmayan hassas bilgilerin alışverişini önlemek için protokoller oluşturun.
- **Hukuki Danışmanlık:** Antitröst yasalarının karmaşıklıkları göz önüne alındığında, iş birliğinin tüm yasal gerekliliklere uymasını sağlamak için bir hukuk uzmanına danışın.
**Sonuç:**
Rakipler arasındaki ortak pazarlama kampanyaları doğası gereği yasadışı olmasa da, antitröst tuzaklarından kaçınmak için dikkatlice yapılandırılmalıdır. Bu sorunlarda yolunuzu bulmak ve antitröst yasalarını ihlal etmeden iş hedeflerinize ulaşmanızı sağlayacak bir işbirliği tasarlamak için yasal rehberlik şarttır.
</response>
</example>"

OpenAI o1 Modeli İle Plan Yapma

o1 modeli bir muhakeme modelidir bu nedenle bir görevi çözmek için plan yaparken oldukça başarılıdır. Görevi çözmek için hangi araçlara ihtiyaç duyduğunu başarılı bir şekilde belirler, ve sınırları çizer. Bu nedenle her adımı o1-mini ile planlayıp 4o-mini ile gerçekleştirip zamandan tasarruf edebiliriz. [1]

# o1 modelinin planlama yapması için yazılmış istem örneği
o1_prompt = """
Siz bir tedarik zinciri yönetim asistanısınız. Alacağınız ilk girdi, çözmek için dikkatlice akıl yürütülmesi gereken karmaşık bir görev olacaktır.
Göreviniz, zorluğu gözden geçirmek ve müşteri siparişlerini işlemek, envanteri yönetmek ve lojistiği idare etmek için ayrıntılı bir plan oluşturmaktır.

Oluşturduğunuz planı yürütmekten sorumlu olan ve sonuçları döndürecek bir LLM temsilcisine erişiminiz olacak.

LLM temsilcisinin aşağıdaki işlevlere erişimi vardır:
- get_inventory_status(product_id)
- Bu, sahip olduğumuz mevcut ürünü alır
- get_product_details(product_id)
- Bu işlev, ek ürün üretmek için ihtiyaç duyduğumuz gerekli bileşenleri alır
- update_inventory(product_id, amount_change)
- Bu işlev, ürünün mevcut envanterini günceller.
- Bu işlev, bir siparişe stok tahsis ettikten sonra çağrılmalıdır. - fetch_new_orders()
- Fonksiyon yeni siparişlerin geçerli durumunu kontrol eder
- allocate_stock(order_id, product_id, amount)
- Bu fonksiyon bir ürünün stokunu bir siparişe tahsis eder.
- check_available_suppliers()
- Bu fonksiyon ek bileşenler için yararlanabileceğimiz mevcut tedarikçilerin listesini kontrol eder.
- get_supplier_info(supplier_id)
- Bu fonksiyon tedarikçinin üretebileceği bileşenleri ve bu bileşenin miktarını döndürür.
- Tedarikçi ile bir satın alma siparişi vermek için gereken bileşenleri almak gerekir.
- place_purchase_order(supplier_id, component_id, amount)
- Bu fonksiyon tedarikçi ile ek bileşenler için bir satın alma siparişi verir
- Satın alma siparişini vermek için gerekli bileşenleri ve tedarikçi kimliğini bilmemiz gerekir.
- Belirtilen tedarikçinin bu bileşeni yoksa, fonksiyon başarısız olur. - check_production_capacity(time_frame)
- Sahip olduğumuz bileşen miktarına bağlı olarak, bu fonksiyon belirli bir zaman dilimi içinde sahada ne kadar ürün üretebileceğimizi belirler
- Yeterli üretim kapasitemiz yoksa, tedarikçiye bir satın alma emri verilmesi gerekecektir
- schedule_production_run(product_id, amount, time_frame)
- Bu fonksiyon mevcut üretim tedarikini ürüne dönüştürür.
- Planlanan herhangi bir üretim, hemen kullanılabilir ve gelecek hafta kullanılabilir üretim kapasitesini azaltacaktır.
- Zaman dilimi değerleri, üretim kapasitesi seçenekleriyle eşleşebilir: 'hemen' veya 'sonraki_hafta'
- Bir üretim çalışması 'hemen' zaman dilimiyle planlanırsa, envanterimizi otomatik olarak yeni kapasiteyle günceller. Sonrasında 'update_inventory' çağırmamalıyız. - calculate_shipping_options(destination, weight, dimensions)
- Bu fonksiyon mevcut gönderim seçeneklerini ve maliyetlerini belirler
- Yalnızca mevcut envanter gönderilebilir
- Hedef, siparişteki hedef adıyla eşleşmelidir
- book_shipment(order_id, carrier_id, service_level)
- Bu, geçerli bir sipariş için bir sevkiyat rezervasyonu yapacaktır.
- send_order_update(customer_id, order_id, message)
- Bu, müşteriye bir güncelleme gönderecektir ve herhangi bir iletişim için gereklidir
- Müşterileri siparişin durumu hakkında bilgilendirmek önemlidir

LLM'nin yürütmesi için bir plan oluştururken, talimatlarınızı belirtilen formatı kullanarak mantıksal, adım adım bir sıraya bölün:
- **Ana eylemler numaralandırılmıştır** (örn. 1, 2, 3).
- **Alt eylemler, ilgili ana eylemlerinin altında harflendirilmiştir** (örn. 1a, 1b). - **Alt eylemler yeni satırlarda başlamalıdır**
- **Koşulları net 'if...then...else' ifadeleri kullanarak belirtin** (örneğin, 'Ürün 30 gün içinde satın alındıysa, o zaman...').
- **Yukarıda tanımlanan işlevlerden birini kullanmayı gerektiren eylemler için**, işlev adı için ters tırnak işaretleri kullanarak bir işlevi çağırmak için bir adım yazın (örneğin, `get_inventory_status işlevini çağırın`).
- Talimat için modele uygun giriş argümanlarının verildiğinden emin olun. Girişlerde herhangi bir belirsizlik olmamalıdır.
- Talimatlardaki **son adım** her zaman `instructions_complete` işlevini çağırmak olmalıdır. Bu, LLM'nin verdiğiniz tüm talimatları tamamladığını bilmemiz için gereklidir.
- **Ayrıntılı adımlar** Oluşturulan plan, her adımda açıklamalarla son derece ayrıntılı ve kapsamlı olmalıdır.
Her adım ve alt adımda planı oluştururken markdown biçimini kullanın.

Senaryoyu aşağıda bulabilirsiniz.
"""

OpenAI o1 Modeli İle Kod Yazma

Burada, kodu temizlemek ve sorunları onarmak için düzenleyebileceğiniz hem o1 hem de gpt-4o modelleri için bazı kodlar sağlıyoruz ve ardından o1'i her modelden gönderilen kod kalitesini derecelendirmek için bir yargıç olarak kullanıyoruz. [1]

# o1 kod planlama istemi örneği [2]
"""Kullanıcı sorularını alan ve bunları cevaplarla eşleştirildiği bir veritabanında arayan bir Python uygulaması oluşturmak istiyorum. Yakın bir eşleşme varsa, eşleşen cevabı alır. Yoksa, kullanıcıdan bir cevap vermesini ister ve soru/cevap çiftini veritabanında depolar. İhtiyacınız olacak dizin
yapısı için bir plan yapın, ardından her dosyayı tam olarak döndürün. Mantığınızı yalnızca başlangıçta ve sonda belirtin, kodun tamamında değil."""
# o1 kod üretme istemi örneği [1]
react_demo_prompt = """Bir Mülakat Geribildirim Formu için zarif, keyifli bir React bileşeni oluşturun:

1. Mülakat yapan kişi, ölçütleri kullanarak adayları birden fazla boyutta derecelendirir
2. Her derecelendirme belirli kanıt/örnekler içermelidir
3. Son öneri, ağırlıklı bir puanlama sistemine göre otomatik olarak hesaplanmalıdır
4. Kullanıcı arayüzü, mülakat yapan kişileri belirli, davranışsal geribildirim vermeye yönlendirmelidir

Amaç, yapılandırılmış, nesnel geribildirim toplanmasını zorunlu kılmaktır. Akıllı bir model şunları yapmalıdır:
- Düşünceli bir ölçüt yapısı oluşturun
- Yardımcı istemler/yer tutucular ekleyin
- Akıllı doğrulamayı oluşturun

Şunu yapın:
- Öğeyi FeedbackForm olarak adlandırın
- Kodu "istemci kullan" ile başlatın

Yalnızca kodla yanıtlayın! Başka bir şey değil!"""
# o1 kod refactoring istemi örneği [2]
"""Talimatlar:
- Aşağıdaki React bileşeni verildiğinde, kurgusal olmayan kitapların kırmızı metin içermesi için değiştirin.

- Yalnızca cevabınızdaki kodu döndürün
- Markdown kod blokları gibi ek biçimlendirme eklemeyin
- Biçimlendirme için dört boşluk sekmesi kullanın ve hiçbir kod satırının 80 sütunu
aşmasına izin vermeyin

const books = [
{ title: 'Dune', category: 'fiction', id: 1 },
{ title: 'Frankenstein', category: 'fiction', id: 2 },
{ title: 'Moneyball', category: 'nonfiction', id: 3 },
];

export default function BookList() {
const listItems = books.map(book =>
<li>
{book.title}
</li>
);

return (
<ul>{listItems}</ul>
);
}""

OpenAI o1 Modeli İle Görsellerle İstemleme

o1, karmaşık düşünme ve anlayış gerektiren görüntü muhakemesinde daha iyi performans gösterebilir. Yukarıdaki görüntüde, sorulacak sorularla bir organizasyon yapısı kullanım örneğini görebiliriz.[1]

o1'de görüntü işleme istekleri nasıl atılıyor?

import json
from openai import OpenAI
from IPython.display import display, Markdown, Image
from helper import get_openai_api_key
openai_api_key = get_openai_api_key()

#from utils import o1_vision

GPT_MODEL = 'gpt-4o-mini'
O1_MODEL = 'o1'

client = OpenAI()
image_filepath = 'data/org_chart_sample.png'

display(Image(image_filepath))
import base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")

#print(response.choices[0].message.content)

def o1_vision(file_path,prompt,model,json_mode=False):
base64_image = encode_image(file_path)
if json_mode:
response = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": [
{"type": "text", "text": prompt},
{"type": "image_url", "image_url": {
"url": f"data:image/png;base64,{base64_image}"}
}
]}
],
response_format={ "type": "json_object" }
)
else:
response = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": [
{"type": "text", "text": prompt},
{"type": "image_url", "image_url": {
"url": f"data:image/png;base64,{base64_image}"}
}
]}
],
)
return response
response = o1_vision(file_path=image_filepath
,prompt='What is this?'
,model=O1_MODEL)
display(Markdown(response.choices[0].message.content))

o1 test edebilir ve öğrenebilir, halüsinasyonları tespit edebilir ve genel olarak benzer nüanslı problemlerde 4o’dan daha iyi performans gösterebilir [1]:

structured_prompt = ("<instructions>You are a consulting assistant who processes org data. "
"Extract the org hierarchy from the image you're provided in a structured format. "
"The structure should be returned in JSON containing:\n"
"- arbitrary ID of the person that you can generate\n"
"- name of the person\n"
"- role of the person\n"
"- an array of IDs they report to\n"
"- an array of IDs that report to them"
"</instructions>")
o1_response = o1_vision(file_path=image_filepath
,model='o1'
,prompt=structured_prompt
,json_mode=True)
print(o1_response.choices[0].message.content)

Çıkarılan bilgileri soru cevaplamada kullanabiliriz. [1]

OpenAI o1 Modeli Meta İstemleme

Üretken yapay zeka uygulamalarında birçok optimizasyon yaklaşımı vardır ve o1 bu kullanım durumunda yardımcı olmak için oldukça yeteneklidir. Bir görev için istemimizi optimize etmek ve değerlendirme puanlarımızı iyileştirmek için değerlendirmeler kümesinde o1-mini’yi nasıl kullanacağımızı öğreneceğiz. Rutin oluşturma kullanım durumuna odaklanacağız. Bu, mevcut bilgi tabanı makalelerinin insan tüketimi için yazıldığı ve LLM’lerin güvenilir bir şekilde takip etmesinin zor olduğu yaygın bir kullanım durumudur. Bu bilgi tabanlı makaleleri okumak ve bunları 4o’nun kullanması için LLM kullanımı için optimize edilmiş bir rutine dönüştürmek ve bu rutinle bir değerlendirmeyi geçmeye çalışmak için o1'i kullanacağız. Bunu birçok kez yapacağız ve her yinelemeden sonra değerlendirme sonuçlarını ve kullandığımız rutini rutini iyileştirmeye çalışacak olan o1'e geri vereceğiz. Buna meta istemi denir. [1]

Meta İstemleme Adımları:

  1. Adım: 4o Rutinini Oluşturma (Prompt)

“Uçuş İptal ve Değişiklik Politikası” adlı insan yazılı politikasını okuyun.[1]

Bu politikayı uygulamak için bir 4o rutini oluşturun.[1]

2. Adım: Değerlendirme

4o rutinini uygulayarak politikayı değerlendirmek için yöntemler geliştirin.[1]

3. Adım: 4o Rutinini İyileştirme

İteratif olarak iyileştirme yapın:

Değerlendir -> Puanla.[1]

Şunları sağlayın:

  • İlk insan politikası.[1]
  • Mevcut 4o rutini.[1]
  • Değerlendirme sonuçları.[1]

Değerlendirme sonuçlarındaki sorunları ele alacak şekilde 4o rutinini iyileştirin.[1]

CONVERSION_PROMPT = f"""
Dışa dönük bir yardım merkezi makalesini alıp onu LLM için optimize edilmiş, programatik olarak yürütülebilir bir iç yordama dönüştürmekle görevli yardımsever bir asistansınız.
Bu yordamı kullanan LLM, politikayı okumak, müşterilerden gelen soruları yanıtlamak ve davayı çözüme doğru yönlendirmekle görevlendirilecektir.

Lütfen şu talimatları izleyin:
1. Her adımın hesaba katıldığından emin olmak için **müşteri hizmetleri politikasını dikkatlice inceleyin**. Hiçbir adımı veya politikayı atlamamak çok önemlidir.
2. Belirtilen formatı kullanarak **talimatları mantıksal, adım adım bir sıraya göre düzenleyin**.
3. **Aşağıdaki formatı kullanın**:
- **Ana eylemler numaralandırılır** (örn. 1, 2, 3).
- **Alt eylemler, ilgili ana eylemlerinin altında harflendirilir** (örn. 1a, 1b).
**Alt eylemler yeni satırlarda başlamalıdır**
- **Net 'eğer...ise...değilse' ifadeleri kullanarak koşulları belirtin** (örneğin, 'Ürün 30 gün içinde satın alındıysa, o zaman...').
- **Müşteriden daha fazla bilgi gerektiren talimatlar için**, ek bilgi istemek için nazik ve profesyonel istemler sağlayın.
- **Harici sistemlerden veri gerektiren eylemler için**, işlev adı için ters tırnak işaretleri kullanarak bir işlevi çağırmak için bir adım yazın (örneğin, `check_delivery_date` işlevini çağırın).
- **Bir adım müşteri hizmetleri temsilcisinin bir eylemde bulunmasını gerektiriyorsa** (örneğin, bir geri ödemeyi işlemek), bu eylem için bir işlev çağrısı oluşturun (örneğin, `process_refund` işlevini çağırın).
- **Yalnızca aşağıda tanımlanan kullanılabilir işlev kümesini kullanın. - **Bir yardımcının kullanıcı adına gerçekleştirebileceği bir eylem varsa**, bu eylem için bir işlev çağrısı ekleyin (örneğin, `change_email_address` işlevini çağırın) ve işlevin amacı ve gerekli parametrelerle tanımlandığından emin olun.
- **Yalnızca aşağıda tanımlanan kullanılabilir işlev kümesini kullanın.
- **Vaka çözümünden önceki adım her zaman yardımcı olabileceğiniz başka bir şey olup olmadığını sormak olmalıdır**.
- **Vaka çözümü için son bir eylemle bitirin**: `case_resolution` işlevini çağırmak her zaman son adım olmalıdır.
4. Tüm adımların şirket politikalarına, gizlilik düzenlemelerine ve yasal gerekliliklere uyduğundan emin olarak **uyumluluğu sağlayın**.
5. Standart politikanın dışına düşen senaryolar için adımlar belirterek **istisnaları veya yükseltmeleri işleyin**. 6. Poliçede kapsanan tüm koşulların rutinlerde de kapsandığından emin olarak **kapsamı sağlayın**

**Önemli**: Döndürdüğünüz işlevleri her zaman ters tırnak işaretleri içine alın, yani `check_ticket_type`. İşlevlere argümanları dahil etmeyin.

Şu anda JSON biçiminde mevcut işlev kümesi şunlardır:
ARAÇLAR: {ARAÇLAR}

Lütfen aşağıdaki müşteri hizmetleri politikasını biçimlendirilmiş rutine dönüştürün, takip edilmesinin ve programatik olarak yürütülmesinin kolay olduğundan emin olun. **Yalnızca** sağlanan işlevleri kullandığınızdan ve net yeni işlevler **oluşturmadığınızdan** emin olun
"""
"""
Havayoluyla ilgili sorunları ele almaktan sorumlu bir müşteri hizmetleri temsilcisisiniz. Aşağıda, müşterinin sorununu ele almak için uymanız gereken kesin politika yer almaktadır.
POLİTİKA:
{policy}
"""
CUSTOMER_PROMPT = f"""<objective>Siz, bir müşteri hizmetleri temsilcisiyle bir sorunu çözmeye çalışan {full_name} adlı bir müşterisiniz.
Temsilcinin sorununuzu çözebilmesi için talep ettiği bilgileri sağlamaya devam edin.
Bilgiler *details* sayfanızdaysa, onu kullanın. Aksi takdirde, uygun bir yanıt oluşturun.</objective>
<details>
Rezervasyon Referansı: {booking_ref}
Uçuş Numarası: {flight_no}
{f"Tıbbi Referans: {medical_certificate}" if medical_certificate else ""}
Context: {context}
İlk isteğiniz: {request}
</details>
<guidance>
Müşterinin SİZ olduğunu unutmayın.
Temsilcinin bir bilgiye ihtiyacı varsa, bu sizden gelmelidir.
Temsilciden bilgi istemeyin.
</guidance>
"""
f"""# Talimatlar
Siz, bir müşteri hizmetleri LLM temsilcisine sağlanan talimatların kalitesini iyileştirmekten sorumlu bir temsilcisiniz.
Göreviniz, ilk politikaya uyarak bir test setinde doğruluğu artırmak için LLM temsilcisine sağlanan talimatları iyileştirmektir.

## Kriterler
- Mevcut talimatları ve değerlendirmenin sonuçlarını analiz edin. Hangi davranışların başarısızlıklara yol açtığını anlayın.
- Örneğin, LLM temsilcisi gerektiğinde rezervasyon referansını sormuyorsa, rezervasyon referansını istemek için bir adım eklemelisiniz.
- Değerlendirme sonuçlarındaki boşlukları gidermek için talimatları iyileştirin.
- Yapılan değişikliklerin orijinal politikayla uyumlu olduğundan emin olun.
- Yalnızca sağlanan araçları kullanın.
- LLM temsilcisinin müşteri hizmetleri isteklerini etkili bir şekilde ele alabilmesini sağlamak için sağlanan işlevleri elinizden gelenin en iyisini yaparak kullanın. Gerektiğinde veri toplamayı da buna dahil edin.
- Bu biçimlendirme iyi çalışmıyorsa biçimi değiştirmeyi deneyin - temel XML'i (örn. <step> <substep> <if> <case>) veya alternatif olarak markdown.

Size 4 madde sağlanacaktır:
1) Uçuş iptalleri ve değişikliklerinin nasıl ele alınacağına dair ayrıntılı talimatlar içeren müşteri hizmetleri temsilcisi için temel gerçek politikası.
2) Kullanılabilir işlevlerin tam listesi.
3) Rutin bir talimat seti.
4) Bu rutin talimat setini kullanan bir test setinde LLM performansını gösteren bir sonuç. Bu veri seti şunları gösteren sütunlar içerir:
- request: Bu, ilk kullanıcı isteğidir.
- expected_function: Bu, LLM'nin konuşmanın sonunda çağırmasını beklediğimiz işlevdir.
- expected_input: Bu, LLM'nin konuşmanın sonunda işleve sağlamasını beklediğimiz girdidir.
- actual_function: Bu, LLM'nin geçerli talimatları kullanarak çağırdığı son işlevdir.
- actual_input: Bunlar, LLM'nin geçerli talimatlara göre sağladığı işlev parametreleridir.
- transcript: Bu, kullanıcı ile LLM temsilcisi arasındaki konuşmanın transkriptidir.
- is_correct: Modelin doğru yanıt verip vermemesine bağlı olarak Doğru/Yanlış değeri

Düzenleme ve değerlendirme geçmişiniz sağlanabilir. Bu bilgileri daha önce neyin denendiğini ve neyin işe yarayıp neyin yaramadığını anlamak için kullanabilirsiniz.

# Veri
## 1. Orijinal politika
{flight_cancellation_policy}
## 2. İşlevler
{TOOLS}
# Sonuç
Geliştirilmiş politikayı, tanımlanmış JSON içinde yazıldığı gibi döndürün. LLM'nin yanıtından politikanın parçası olmayan tüm bölümleri kaldırın ve ek anahtarlar oluşturmayın.
"""

o1 Modelleriyle Bağlam Penceresini ve Maliyetleri Yönetme

Bağlam Penceresi ve Token Sınırları

Modeller ve Sınırlar:

  • o1: 200.000 token(bağlam penceresi), 100.000'e kadar çıktı tokeni. [2]
  • o1-mini: 128.000 token (bağlam penceresi), 65.536'ya kadar çıktı token’ı. [2]

Muhakeme Tokenleri: Modeller hem muhakeme tokenleri (görünmez) hem de tamamlama tokenleri (görünür) kullanır. Karmaşık problemler yüzlerce ila on binlerce muhakeme tokeni üretebilir. [2]

Kullanım Ayrıntıları: Muhakeme ve tamamlama tokenlerinin dökümü API yanıtının completion_tokens_details alanında mevcuttur. [2]

Maliyetleri Kontrol Etmek

  • Model tarafından oluşturulan toplam belirteçleri (akıl yürütme + görünür tamamlama belirteçleri) açıkça sınırlamak için max_completion_tokens’ı kullanın. [2]

Önceki modellerden farkı:

  • Önceki modeller görünür belirteçleri (oluşturulan belirteçlere eşit) kontrol etmek için max_tokens’ı kullanıyordu. [2]
  • o1 serisinde, oluşturulan belirteçler akıl yürütme belirteçleri nedeniyle görünür belirteçleri aşabilir ve bu da hassas kontrol için max_completion_tokens’ı gerekli kılar. [2]

Akıl Yürütmeye Alan Ayırma

  • Bağlam penceresi veya max_completion_tokens sınırına ulaşıldığında, model erken durabilir (finish_reason = length), muhtemelen görünür çıktılar üretmeden. Maliyetler hala geçerli olabilir. [2]
  • Öneri: Deney yaparken muhakeme ve çıktılar için en az 25.000 token ayırın. Uygulamanızın token kullanım kalıplarına göre gerektiği gibi ayarlayın. [2]

Açık Kaynaklı Muhakeme Modeli Marc-o1

Alibaba tarafından geliştirilen Marco-o1 modeli, OpenAI’nin o1 modelinden esinlenerek, büyük dil modellerinin muhakeme yeteneklerini geliştirmeyi amaçlayan bir araştırma projesidir. Marco-o1, karmaşık gerçek dünya problemlerini çözmek için Düşünce Zinciri (CoT:Chain-of-Thought )ince ayarlama, Monte Carlo Ağacı Arama (MCTS: Monte Carlo Tree Search) ve yenilikçi muhakeme stratejileri kullanmaktadır. Proje, standart cevapların olmadığı ve ödüllerin nicellenmesinin zor olduğu açık uçlu sorulara odaklanmaktadır. Deney sonuçları, Marco-o1'in özellikle çeviri görevlerinde ve çeşitli muhakeme veri setlerinde iyileştirmeler gösterdiğini ortaya koymaktadır. Ancak, modelin hala tam olarak “o1” seviyesinde olmadığı ve gelecekteki iyileştirmelere ihtiyaç duyduğu belirtilmektedir.[3]

Marco-o1 modeli tarafından akıl yürütme yoluyla ortaya atılan klasik soru: “‘Strawberry’ kelimesinde kaç tane ‘r’ vardır?”[3]
Marco Muhakeme Veri Kümelerine Genel Bakış.[3]
Marco-o1'e genel bakış.[3]
MGSM veri kümeleri üzerindeki deneysel sonuçlar.[3]
Marco-o1'in temel sonuçları.[3]
MGSM Veri Kümelerinde Performans: Test@1, Test@8 ve Test@32 Sonuçları. Test@N, modelin her bir problem için N ayrı tahmin yapmasına izin verildiğinde en az bir kez doğru şekilde çözülen problemlerin yüzdesini belirtir.[3]
MCTS Doğru Cevaplar İçin Çözüm Alanını Genişletir. MGSM veri setinde Marco-o1-CoT (sol) ve Marco-o1-MCTS (adım) (sağ) arasındaki karşılaştırma. Marco-o1-CoT doğru cevabı sağlamada başarısız olsa da, MCTS’yi adım düzeyindeki eylemlerle entegre etmek, modelin daha geniş bir çözüm alanını keşfetmesini sağlayarak doğru çözüme ulaşma olasılığını artırır.[3]
Mini adımlarla daha ince ayrıntılılık, problem çözmeyi geliştirir. MGSM veri kümesinde Marcoo1-MCTS (adım) (sol) ve Marco-o1-MCTS (32 jetonluk mini adım) (sağ) arasındaki karşılaştırma. Adım düzeyindeki eylem stratejisi doğru cevabı üretmez, ancak 32 jetonluk daha ince ayrıntılı bir mini adım kullanarak, model doğru cevabı bulmak için çözüm alanında başarılı bir şekilde gezinir ve artırılmış eylem ayrıntılılığının etkinliğini gösterir.[3]
En İyi Eylem Granülaritesi Sorun Karmaşıklığına Bağlıdır. MGSM veri kümesinde Marcoo1-MCTS (64 jetonluk mini adım) (sol) ve Marco-o1-MCTS (adım) (sağ) arasındaki karşılaştırma. 64 jetonluk mini adıma sahip model doğru cevabı bulmayı başaramazken, adım düzeyindeki eylemler modelin sorunu doğru şekilde çözmesini sağlamıştır. Bu, hangi eylem stratejisinin üstün olduğu konusunda kesin sonuçlar çıkaramayacağımızı vurgulamaktadır. Ödül daha doğru hale geldikçe, MCTS tarafından sağlanan daha büyük çözüm alanının daha büyük potansiyel göstereceğine inanıyoruz.[3]
Marco-o1 kullanılarak “Bu ayakkabının rahat bir tabanı var ve satın alınması şiddetle tavsiye edilir” şeklindeki günlük bir ifadenin çeviri görevinin gösterimi.[3]
“Çok güzel! Ve çok ucuz, süper düz ve kıvrılmıyor. Alın, alın!” şeklindeki günlük bir ifadenin çeviri karşılaştırması.[3]

Ana Temalar ve Önemli Bilgiler

O1'den İlham Alınan Açık Muhakeme

  • Marco-o1, OpenAI’nin çığır açan o1 modelinden ilham almıştır. Ancak, o1'in daha çok matematik, fizik ve kodlama gibi standart cevapları olan alanlara odaklanmasına karşılık, Marco-o1, açık uçlu çözümlere odaklanarak daha geniş alanlarda akıl yürütme yeteneklerini geliştirmeyi hedeflemektedir.[3]
  • Makale, mevcut büyük muhakeme modellerinin teknik yol haritasının net olmadığını ve bu çalışmanın bu konuda potansiyel yaklaşımlar sunmayı amaçladığını vurgulamaktadır.[3]
  • Modelin mevcut haliyle hala “o1-benzeri” akıl yürütme özelliklerine sahip olduğu ve tam anlamıyla bir “o1” modeli performansına ulaşmadığı belirtilmektedir. Bunun, sürekli optimizasyon gerektiren devam eden bir çaba olduğuna vurgu yapılmıştır.[3]
  • “Bu araştırma çalışmasının OpenAI’nin o1'inden (isim de buradan gelmektedir) ilham aldığı vurgulanmaktadır. Bu çalışma, büyük muhakeme modelleri için şu anda net olmayan teknik yol haritasına ışık tutacak potansiyel yaklaşımları keşfetmeyi amaçlamaktadır.”[3]

Geliştirme Teknikleri

  • Marco-o1, akıl yürütme gücünü artırmak için Düşünce Zinciri (Chain-of-Thought — CoT) ince ayarı, Monte Carlo Ağaç Arama (Monte Carlo Tree Search — MCTS), yansıtma mekanizmaları ve yenilikçi akıl yürütme stratejilerini kullanır.[3]
  • Model, Qwen2–7B-Instruct modelinin, filtrelenmiş Open-O1 CoT veri kümesi, Marco-o1 CoT veri kümesi ve Marco-o1 Talimat veri kümesinin kombinasyonu ile ince ayarlanmasıyla geliştirilmiştir.[3]
  • MCTS, alternatif tokenlerin log olasılıklarından türetilen güven skorlarını kullanarak birden fazla akıl yürütme yolunu keşfetmeye olanak tanır ve modeli en iyi çözümlere yönlendirir.[3]
  • Akıl yürütme aksiyon stratejisi, arama verimliliğini ve doğruluğunu optimize etmek için adımlar ve mini-adımlar içinde eylemlerin ayrıntı düzeyini değiştirir.[3]
  • “Marco-o1, akıl yürütme gücünü artırmak için CoT ince ayarı, MCTS ve Akıl Yürütme Eylem Stratejileri gibi gelişmiş tekniklerden yararlanır.”[3]

Marco Muhakeme Veri Kümeleri

  • Marco-o1 modelinin akıl yürütme yeteneklerini geliştirmek için çeşitli veri kümeleri kullanılmıştır:
  • Open-O1 CoT Veri Kümesi (Filtrelenmiş): Open-O1 projesinin CoT veri kümesi, sezgisel ve kalite filtreleme süreçlerinden geçirilerek iyileştirilmiştir.[3]
  • Marco-o1 CoT Veri Kümesi (Sentetik): MCTS kullanılarak oluşturulmuş ve karmaşık akıl yürütme yolları formüle edilmesine yardımcı olmuştur.[3]
  • Marco Talimat Veri Kümesi: Karmaşık görevlerin yürütülmesinde sağlam talimat takibi yeteneklerinin önemi vurgulanarak, talimat takip verileri dahil edilmiştir.[3]

MCTS ile Çözüm Uzayının Genişletilmesi

  • MCTS’de her bir düğüm, problem çözme sürecinin bir akıl yürütme durumunu temsil eder.[3]
  • Bir düğümden olası eylemler, LLM tarafından üretilen çıktılardır. Bu çıktılar, akıl yürütme zincirindeki potansiyel adımları veya mini adımları temsil eder.[3]
  • LLM, yuvarlanma aşamasında akıl yürütme sürecine son duruma kadar devam eder.[3]
  • Her bir durumun değeri, bir güven skoru hesaplanarak elde edilir. Yuvarlanma sırasında üretilen her bir tokenin güven skoru, log olasılığına ve ilk 5 alternatif tokenin log olasılıklarına softmax fonksiyonu uygulanarak hesaplanır. Bu skor, modelin daha doğru ve güvenilir akıl yürütme zincirlerine yönelmesini sağlar.[3]
  • “LLM’leri MCTS ile entegre ediyoruz ve modelin çıktı güvenini arama yolunu genişletmek ve daha iyi çözümlere yönlendirmek için kullanıyoruz.”[3]

Akıl Yürütme Eylem Stratejisi

  • MCTS araması için eylem olarak kullanılan adımların, karmaşık sorunları çözmek için gerekli ince akıl yürütme yollarını gözden kaçırabileceği gözlemlenmiştir.[3]
  • Bu nedenle, MCTS aramasında farklı ayrıntı seviyeleri keşfedilmiştir. Başlangıçta adımlar, arama birimi olarak kullanılmıştır. Modelin arama alanını daha da genişletmek için adımlar, “mini-adım” olarak adlandırılan 64 veya 32 tokenlik daha küçük birimlere bölünerek deneyler yapılmıştır. Bu daha ince ayrıntı düzeyi, modelin akıl yürütme yollarını daha detaylı olarak keşfetmesine olanak tanır.[3]
  • Modeli kendi kendine yansımaya yönlendirmek için her düşünce sürecinin sonuna “Dur! Belki bazı hatalar yaptım! Baştan düşünmem gerekiyor.” ifadesi eklenmiştir. Bu yansıma, özellikle modelin başlangıçta yanlış çözdüğü zor sorunlarda önemli iyileşmeler sağlar.[3]
  • “MCTS’deki aksiyonların ayrıntı düzeyini değiştirerek, modelin daha karmaşık akıl yürütme yollarını keşfetmesini sağlıyoruz.”[3]

Deneyler ve Sonuçlar

  • Marco-o1-CoT, Qwen2–7B-Instruct modeline göre MGSM-En (İngilizce) veri kümesinde daha iyi performans göstermiştir. Ancak, MGSM-Zh (Çince) veri kümesinde daha düşük performans göstermiştir. Bunun nedeni, ince ayarda kullanılan CoT verilerinin İngilizce olması ve Çince veri kümesine etkili bir şekilde aktarılamamasıdır.[3]
  • MCTS ile geliştirilmiş modeller, Marco-o1-CoT’a göre iyileşmeler göstermiştir. Bu, MCTS’nin modelin çözüm alanını genişletmesine ve doğru cevaplar alma olasılığını artırmasına yardımcı olduğunu göstermektedir.[3]
  • “Test@N” metodu kullanılarak, MCTS’nin daha az sayıda ayrı tahminde bulunulduğunda bile avantaj sağladığı görülmüştür.[3]
  • Marco-o1 modelinin “strawberry” sorusunu çözerken, son harf “y”yi açıkça ele almaması, modelin bazı açık adımları atlayabilecek kadar akıl yürütme konusunda kendine güvenli olduğunu göstermektedir.[3]

Çeviri Görevlerinde Durum Çalışması

  • Marco-o1 modeli, çeviri görevlerinde, özellikle argo ve günlük konuşma ifadelerinin çevirisinde Google Translate’e göre daha başarılı olmuştur. Model, bağlamı ve nüansları anlama konusunda daha üstündür ve daha doğru ve doğal çeviriler sunmaktadır.[3]
  • “Modelimiz, günlük konuşma ifadelerini ve argo sözcükleri anlamada ve çevirmede Google Çeviri gibi standart çeviri araçlarından daha iyi performans gösteriyor.”[3]

Sonuçlar ve Gelecek Çalışmalar

  • Marco-o1, Düşünce Zinciri (CoT) ince ayarı, Monte Carlo Ağaç Arama (MCTS) ve yenilikçi akıl yürütme aksiyon stratejilerini entegre ederek akıl yürütme yeteneğini geliştirir.[3]
  • MCTS’nin entegrasyonu, daha geniş çözüm alanlarına olanak tanır ve farklı eylem ayrıntı düzeyleriyle yapılan deneyler (adımlar ve mini adımlar), daha ince arama çözünürlüklerinin doğruluğu artırma potansiyelini göstermektedir.[3]
  • Gelecekteki çalışmalar, MCTS için Ödül Modellemesi (ORM) ve Süreç Ödül Modellemesi (PRM) yoluyla ödül sinyalini iyileştirmeyi, rastlantısallığı azaltmayı ve performansı daha da artırmayı hedeflemektedir. Ayrıca, Marco-o1'in karar alma süreçlerini iyileştirmek için pekiştirmeli öğrenme teknikleri de araştırılmaktadır.[3]
  • “Gelecek çalışmalarımızda, ödül modellemesi ve pekiştirmeli öğrenme teknikleri ile modelin performansını daha da artırmayı hedefliyoruz.”[3]

Önemli Alıntılar

  • “Bu çalışma, büyük muhakeme modelleri için şu anda net olmayan teknik yol haritasına ışık tutacak potansiyel yaklaşımları keşfetmeyi amaçlamaktadır.”[3]
  • “Marco-o1, akıl yürütme gücünü artırmak için CoT ince ayarı, MCTS ve Akıl Yürütme Eylem Stratejileri gibi gelişmiş tekniklerden yararlanır.”[3]
  • “LLM’leri MCTS ile entegre ediyoruz ve modelin çıktı güvenini arama yolunu genişletmek ve daha iyi çözümlere yönlendirmek için kullanıyoruz.”[3]
  • “MCTS’deki aksiyonların ayrıntı düzeyini değiştirerek, modelin daha karmaşık akıl yürütme yollarını keşfetmesini sağlıyoruz.”[3]
  • “Modelimiz, günlük konuşma ifadelerini ve argo sözcükleri anlamada ve çevirmede Google Çeviri gibi standart çeviri araçlarından daha iyi performans gösteriyor.”[3]
  • “Gelecek çalışmalarımızda, ödül modellemesi ve pekiştirmeli öğrenme teknikleri ile modelin performansını daha da artırmayı hedefliyoruz.”[3]

Marco-o1 modeli, MCTS’yi nasıl kullanır ve bu ne gibi faydalar sağlar?

Marco-o1, MCTS’yi kullanarak problemleri çözme sürecinde farklı akıl yürütme yollarını keşfeder. Her düğüm, problem çözme sürecindeki bir akıl yürütme durumunu temsil eder. Eylemler, LLM tarafından üretilen olası adımlar veya mini adımlardır. Model, her token için güven skorları hesaplar ve bu skorlar, daha güvenilir ve olası doğru akıl yürütme yollarına rehberlik eder. MCTS, çözüm alanını genişleterek modelin doğru cevapları bulma olasılığını artırır.[3]

“Mini-adım” kavramı nedir ve modelin performansını nasıl etkiler?

Modelin MCTS aramasında kullandığı eylem birimleri başlangıçta “adım” olarak belirlenirken, karmaşık problemler için bu durumun bazen yeterince ayrıntılı olmadığı gözlemlenmiştir. “Mini-adım” kavramı, adımların daha küçük, örneğin 32 veya 64 tokenlik alt birimlere bölünmesi anlamına gelir. Bu, çözüm uzayını genişletir ve daha ince akıl yürütme yollarının keşfedilmesini sağlar, bu da özellikle karmaşık sorunlarda modelin doğru cevaplar bulma yeteneğini artırır.[3]

Marco-o1 modelinde yansıma mekanizması nasıl çalışır ve ne gibi faydalar sağlar?

Yansıma mekanizması, modelin her düşünce sürecinin sonuna “Bekle! Belki bazı hatalar yaptım! Baştan düşünmem gerekiyor.” ifadesinin eklenmesiyle uygulanır. Bu, modelin kendi akıl yürütme adımlarını sorgulamasına ve yeniden değerlendirmesine yol açar. Bu sayede model, başlangıçta hatalı çözdüğü zor problemleri daha doğru cevaplayabilir hale gelir. Kendi kendini eleştirme yaklaşımı, modelin kendi hatalarını tespit etme yeteneğini artırır.[3]

Marco-o1 modelinin deneysel sonuçları nelerdir ve hangi veri setleri kullanılmıştır?

Marco-o1, İngilizce (En) ve Çince (Zh) alt kümeleri de dahil olmak üzere MGSM veri seti üzerinde test edilmiştir. Model, zincirleme düşünme ince ayarı ve MCTS kombinasyonlarıyla temel modele göre daha iyi performans göstermiştir. Özellikle MCTS ile güçlendirilen modeller, çözüm alanını genişleterek doğru cevap olasılığını artırmıştır. MCTS’nin eylem granüliteleri farklı sonuçlar verse de genel olarak modelin yetenekleri geliştirilmiştir.[3]

Marco-o1 modeli, çeviri görevlerinde ne gibi performans gösterir?

Marco-o1, çeviri görevlerinde özellikle gündelik ve argo ifadelerin çevirisinde Google Translate gibi standart araçlara kıyasla daha iyi performans göstermiştir. Model, bağlamı ve nüansları daha iyi anladığı için daha doğru ve doğal çeviriler yapabilmektedir.[3]

Gelecek çalışmalarda Marco-o1 modeli için ne gibi planlar vardır?

Gelecek çalışmalar için MCTS’nin ödül sinyalini, “Outcome Reward Modeling” (ORM) ve “Process Reward Modeling” (PRM) ile iyileştirme planları bulunmaktadır. Bu, rastgeleliği azaltacak ve performansı daha da artıracaktır. Ayrıca, modelin karar alma süreçlerini geliştirmek için pekiştirmeli öğrenme teknikleri araştırılmaktadır. Bu, modelin karmaşık gerçek dünya görevleriyle başa çıkma yeteneğini artırmayı hedeflemektedir.[3]

DeepSeek

DeepSeek’in kurucusu olan genel müdürü [https://x.com/henrythe9ths/status/1881831129457758230]

DeepSeek başarı için milyarlarca dolarlık fonlama ya da ünlü bir geçmişin yerine ham yeteneğin, yenilikçiliğin ve kararlılığın da yeterli olabileceğini göstermiştir.

High-Flyer ve Deepseek’in Hikayesi

Mütevazı Başlangıç: 2007’de Zhejiang Üniversitesi’nden üç mühendis, algoritmik ticarete odaklanan bir kuant fonu fikri geliştirdi. Sektörün deneyimlilerinin yerine genç yetenekleri ve merakı önceliklendirdiler.

Sessiz Yükseliş: 8 yıl boyunca algoritmik ticaret üzerinde çalıştıktan sonra 2015’te High-Flyer’ı kurdular. 2021’e gelindiğinde, 15 milyar dolarlık yönetilen varlık, 140 milyon dolarlık yatırım ve 10.000 NVIDIA A100 GPU ile büyük bir başarı yakaladılar.

Tersine Dönüş (2022): Fazla büyüdükleri için milyarlarca dolar kaybettiler. Çin’deki düzenleyici kurumlar, yüksek frekanslı ticaret yapanlara sert yaptırımlar uyguladı. Bu durum High-Flyer için varoluşsal bir tehdit oluşturdu.

Yapay Zekâ ile Yeniden Doğuş (2023): Deepseek adlı bir yapay zekâ laboratuvarı kurarak AI alanına yöneldiler. Mevcut kaynaklarını kullanarak, VC fonlaması olmadan çalışmaya başladılar. Deneyimli araştırmacılar yerine yine genç, yetenekli zihinleri işe aldılar.

Erken Başarılar (2024): Deepseek v2 ile MLA, Sparse MoE gibi yenilikler ve %42,5 oranında eğitim maliyeti düşüşü sağladılar. Önemli verimlilik ve performans artışları elde ettiler.

Öncü Açık Kaynak Model: 2024 sonunda, Deepseek v3 sadece 6 milyon dolarlık eğitim maliyetiyle ChatGPT-4o gibi lider modellere rakip oldu. Multi-Token Prediction ve FP8 Mixed Precision Training gibi çığır açan yenilikler sundular. API maliyetleri OpenAI ve Anthropic gibi rakiplere kıyasla 20–50 kat daha ucuzdu.

AGI Sınırlarını Zorlama (2025): Tamamen açık kaynaklı, yalnızca pekiştirmeli öğrenmeyle eğitilen bir muhakeme modeli piyasaya sürdüler. Rakiplere kıyasla ultra düşük API maliyetlerini sürdürdüler.

DeepSeek R1

DeepSeek-R1'in performans karşılaştırması. [4]

DeepSeek’in birinci nesil muhakeme modelleri DeepSeek-R1-Zero ve DeepSeek-R1'i tanıtıyoruz. Ön adım olarak denetlenen ince ayar (SFT) olmadan büyük ölçekli pekiştirmeli öğrenme (RL) yoluyla eğitilen bir model olan DeepSeek-R1-Zero, dikkate değer akıl yürütme yetenekleri göstermektedir. RL aracılığıyla DeepSeek-R1-Zero, doğal olarak çok sayıda güçlü ve ilgi çekici akıl yürütme davranışıyla ortaya çıkar. Ancak, zayıf okunabilirlik ve dil karıştırma gibi zorluklarla karşılaşır. Bu sorunları ele almak ve akıl yürütme performansını daha da artırmak için, RL’den önce çok aşamalı eğitim ve soğuk başlatma verilerini içeren DeepSeek-R1'i tanıtıyoruz. DeepSeekR1, akıl yürütme görevlerinde OpenAI-o1–1217 ile karşılaştırılabilir bir performans elde ediyor. Araştırma topluluğunu desteklemek için, Qwen ve Llama’ya dayalı DeepSeek-R1'den damıtılmış DeepSeek-R1-Zero, DeepSeek-R1 ve altı yoğun model (1.5B, 7B, 8B, 14B, 32B, 70B) açık kaynaklı hale getirilmiştir. [4]

DeepSeek-R1-Zero ve OpenAI o1 modellerinin muhakemeyle ilgili ölçütlerde karşılaştırılması.[4]
DeepSeek-R1-Zero’nun eğitim sırasında AIME doğruluğu. Her soru için 16 yanıtı örnekliyoruz ve istikrarlı bir değerlendirme sağlamak için genel ortalama doğruluğu hesaplıyoruz.[4]
RL süreci sırasında eğitim setindeki DeepSeek-R1-Zero’nun ortalama yanıt uzunluğu. DeepSeek-R1-Zero, daha fazla düşünme süresiyle akıl yürütme görevlerini çözmeyi doğal olarak öğrenir.[4]
DeepSeek-R1 ile diğer temsili modeller arasındaki karşılaştırma.[4]
DeepSeek-R1 damıtılmış modelleri ile diğer karşılaştırılabilir modellerin muhakemeyle ilgili ölçütlerde karşılaştırılması.[4]
Muhakemeyle İlgili Ölçütlerde Damıtılmış ve RL Modellerinin Karşılaştırılması.[4]

Ana Temalar ve Önemli Fikirler/Olgular

Pekiştirmeli Öğrenmeyle Muhakeme Yeteneğinin Geliştirilmesi

  • DeepSeek AI, büyük dil modellerinin (LLM’ler) muhakeme yeteneklerini geliştirmek için denetimli öğrenmeye (SFT) ihtiyaç duymadan doğrudan pekiştirmeli öğrenme (RL) kullanımını araştırmıştır.[4]
  • DeepSeek-R1-Zero, SFT olmaksızın, doğrudan temel model (DeepSeek-V3-Base) üzerinde RL uygulanarak oluşturulmuştur. Bu model, karmaşık sorunları çözmek için “düşünce zinciri” (CoT) oluşturma, öz-doğrulama ve yansıtma gibi önemli muhakeme davranışları göstermiştir.[4]
  • “Özellikle, temel model üzerinde doğrudan pekiştirmeli öğrenme (RL) uyguluyoruz, bu da modelin karmaşık sorunları çözmek için düşünce zinciri (CoT) keşfetmesine olanak tanıyor ve DeepSeek-R1-Zero’nun geliştirilmesiyle sonuçlanıyor.”[4]
  • Aha Anı: DeepSeek-R1-Zero’nun RL eğitimi sırasında, modelin ilk yaklaşımını yeniden değerlendirerek daha fazla düşünme zamanı ayırmayı öğrendiği dikkat çekici “aha anı” gözlemlenmiştir.
  • “Bekle, bekle. Bekle. Burada işaretleyebileceğim bir aha anı. Doğru toplamın olup olmadığını belirlemek için adım adım yeniden değerlendirelim…”[4]

DeepSeek-R1: Soğuk Başlangıç ve Çok Aşamalı Eğitim:

  • DeepSeek-R1, DeepSeek-V3-Base modelinin, binlerce uzun CoT örneğiyle ince ayarlanmasıyla başlayan çok aşamalı bir eğitim sürecini kullanmaktadır.[4]
  • Bu yaklaşım, RL eğitiminin erken aşamalarındaki istikrarsızlığı önlemek için “soğuk başlangıç” verilerini (high-quality, uzun CoT örnekleri) içermektedir.[4]
  • “DeepSeek-R1-Zero’nun aksine, RL eğitiminin temel modelden kaynaklanan erken istikrarsız soğuk başlangıç aşamasını önlemek için, DeepSeek-R1 için modelin ilk RL aktörü olarak ince ayarlanması için az miktarda uzun CoT verisi oluşturup topluyoruz.”[4]

Eğitim Aşamaları:

  • Soğuk başlangıç verileriyle ince ayar.[4]
  • Muhakemeye yönelik RL.[4]
  • Reddetme Örneklemesi ve SFT.[4]
  • Tüm senaryolar için RL.[4]
  • Bu çok aşamalı eğitim, hem muhakeme performansını artırır hem de insan tercihleriyle uyumlu, daha okunabilir çıktılar üretir.[4]

Damıtma (Distillation) ile Daha Küçük Modellerin Güçlendirilmesi:

  • DeepSeek-R1 tarafından öğrenilen muhakeme örüntüleri, Qwen ve Llama gibi daha küçük, yoğun modellere damıtılarak daha iyi performans elde edilebilmektedir.[4]
  • Bu yöntem, büyük modellerin muhakeme yeteneklerinin daha küçük modellere aktarılabileceğini göstermektedir.[4]
  • “Daha büyük modellerin muhakeme kalıplarının daha küçük modellere aktarılabileceğini ve bunun da küçük modellerde RL aracılığıyla keşfedilen muhakeme kalıplarıyla karşılaştırıldığında daha iyi performansla sonuçlandığını gösteriyoruz.”[4]
  • Açık kaynaklı Qwen ve Llama serilerine dayanan 1.5B, 7B, 8B, 14B, 32B ve 70B boyutlarında damıtılmış modeller açık kaynak olarak paylaşılmıştır.[4]

Önemli sonuçlar:

  • 14B damıtılmış model, mevcut en iyi açık kaynak QwQ-32B-Preview’dan daha iyi performans göstermektedir.[4]
  • 32B ve 70B modeller, yoğun modeller arasında muhakeme değerlendirmelerinde yeni bir rekor kırmıştır.[4]
  • Örneğin, DeepSeek-R1-Distill-Qwen-7B, AIME 2024'te %55.5 puan alarak QwQ-32B-Preview’ı geride bırakmıştır.[4]

Değerlendirme Sonuçları:

  • DeepSeek-R1, AIME 2024 (%79.8 Pass@1) ve MATH-500 (%97.3 Pass@1) gibi muhakeme görevlerinde OpenAI-o1–1217 ile karşılaştırılabilir bir performans göstermiştir.[4]
  • Kodlama görevlerinde Codeforces’ta %96.3'lük bir percentile elde ederek uzman seviyesinde bir performans sergilemiştir.[4]
  • MMLU (%90.8), MMLU-Pro (%84.0) ve GPQA Diamond (%71.5) gibi bilgi değerlendirme kıstaslarında da yüksek performans göstermiştir.[4]
  • Yaratıcı yazma, soru cevaplama, düzenleme ve özetleme gibi genel görevlerde de iyi sonuçlar elde etmiştir.[4]

Başarısız Denemeler:

  • Süreç Ödül Modelleri (PRM) ve Monte Carlo Ağaç Araması (MCTS) gibi yaklaşımlar denenmiş, ancak büyük ölçekli RL eğitim sürecinde beklenilen performansı gösterememiştir.[4]
  • PRM’de, ince taneli adımları tanımlama, ara adımların doğruluğunu belirleme ve ödül hackleme gibi zorluklar yaşanmıştır.[4]
  • MCTS’de ise token üretimi için çok büyük arama uzayı ve iyi bir değer modelinin zor eğitilmesi gibi sorunlar ortaya çıkmıştır.[4]

RL ve Damıtma Karşılaştırması:

  • Damıtılmış modellerin performansı, aynı baz model üzerinde büyük ölçekli RL eğitimiyle elde edilen performansdan daha iyi olmuştur.[4]
  • “İlk olarak, daha güçlü modelleri daha küçük modellere damıtmak mükemmel sonuçlar verirken, bu makalede bahsedilen büyük ölçekli RL’ye güvenen küçük modeller, muazzam bir hesaplama gücü gerektirir ve hatta damıtmanın performansına ulaşamayabilir.”[4]
  • Bu, damıtmanın hem ekonomik hem de etkili bir strateji olduğunu, ancak zekânın sınırlarını aşmak için daha güçlü temel modellere ve büyük ölçekli pekiştirmeli öğrenmeye ihtiyaç duyulduğunu göstermektedir.[4]

Sonuç, Sınırlamalar ve Gelecek Çalışmalar:

  • DeepSeek-R1, muhakeme yeteneğini geliştirmek için RL’nin gücünü göstermektedir.[4]
  • Damıtma, daha küçük modelleri büyük modellerin yetenekleriyle donatmanın etkili bir yoludur.[4]
  • Gelecekteki çalışmalar şunları içerecektir:
  • Fonksiyon çağırma, çok turlu etkileşimler, karmaşık rol yapma ve JSON çıktıları gibi alanlardaki genel yeteneklerin iyileştirilmesi.[4]
  • Dil karıştırma sorunlarının çözülmesi.[4]
  • Komut istemine duyarlılığın azaltılması.[4]
  • Yazılım mühendisliği görevlerindeki performansın artırılması.[4]

DeepSeek-R1-Zero ve DeepSeek-R1 arasındaki temel farklar nelerdir?

DeepSeek-R1-Zero, temel model üzerinde doğrudan pekiştirmeli öğrenme (RL) kullanılarak eğitilmişken, denetimli ince ayar (SFT) gibi bir ön adım içermez. Bu sayede modelin kendi kendine düşünme yetenekleri geliştirmesi amaçlanır. Ancak, okunabilirlik ve dil karışımı gibi sorunlarla karşılaşır. DeepSeek-R1 ise, bu sorunları gidermek ve akıl yürütme performansını artırmak için, RL’den önce “soğuk başlangıç” verileri ve çok aşamalı eğitim kullanır. Sonuç olarak DeepSeek-R1, akıl yürütme görevlerinde OpenAI-o1–1217 ile benzer bir performans sergiler.[4]

DeepSeek-R1 modelleri nasıl eğitildi ve bu süreçte hangi öğrenme yöntemleri kullanıldı?

DeepSeek-R1 modellerinin eğitimi birden fazla aşamadan oluşur. DeepSeek-R1-Zero modeli, temel model üzerinde doğrudan pekiştirmeli öğrenme (RL) kullanılarak eğitilir. DeepSeek-R1 ise, öncelikle “soğuk başlangıç” verileriyle ince ayarlanır, ardından akıl yürütme odaklı RL uygulanır. RL sürecinin sonunda, reddetme örneklemesi ve denetimli ince ayar ile yeni SFT verileri oluşturulur. Ardından model tekrar eğitilir ve RL’ye tabi tutulur. Bu süreçte, GRPO (Grup Bağıl Politika Optimizasyonu) algoritması ve kural tabanlı ödül sistemleri kullanılır.[4]

“Soğuk başlangıç” verileri DeepSeek-R1 modelinin performansını nasıl etkiledi?

“Soğuk başlangıç” verileri, DeepSeek-R1 modelinin başlangıç aşamasında daha istikrarlı ve tutarlı bir eğitim sürecine girmesini sağlar. Bu veriler, modeli akıl yürütme sürecine yönlendirerek, daha okunabilir ve insan dostu çıktı üretmesine yardımcı olur. Ayrıca, modelin genel performansını artırır ve derinlemesine düşünme becerilerini geliştirmesine olanak tanır.[4]

DeepSeek-R1-Zero’nun “aha anı” olarak adlandırılan davranışı nedir ve bu durum modelin gelişiminde neyi gösteriyor?

DeepSeek-R1-Zero’nun “aha anı”, modelin problem çözerken daha fazla düşünme zamanı ayırarak ilk yaklaşımını yeniden değerlendirdiği bir evredir. Bu, modelin problem çözme stratejilerini kendi kendine geliştirdiğini ve beklenmedik, karmaşık davranışlar ortaya çıkarabildiğini gösterir. Bu an, modelin akıl yürütme becerilerinin pekiştirmeli öğrenme (RL) yoluyla nasıl kendiliğinden geliştiğinin önemli bir örneğidir.[4]

Pekiştirmeli öğrenme (RL) sürecinde kullanılan ödül sistemleri nelerdir ve bu sistemlerin önemi nedir?

RL sürecinde, doğruluk ödülleri ve biçim ödülleri olmak üzere iki ana ödül türü kullanılır. Doğruluk ödülleri, modelin verdiği yanıtların doğruluğunu değerlendirirken, biçim ödülleri modelin düşünme süreçlerini ‘’ etiketleri arasına yerleştirmesini sağlar. Ödül sistemleri, modelin optimizasyon yönünü belirleyerek, doğru ve mantıklı yanıtlar üretmesini teşvik eder.[4]

DeepSeek-R1 modellerinin akıl yürütme yetenekleri hangi görevlerde değerlendirildi ve hangi sonuçlar elde edildi?

DeepSeek-R1 modellerinin akıl yürütme yetenekleri, matematik, kodlama, bilim ve mantık gibi farklı görevlerde değerlendirildi. AIME 2024, MATH-500, Codeforces ve LiveCodeBench gibi değerlendirme ölçütlerinde, DeepSeek-R1 ve DeepSeek-R1-Zero modelleri, OpenAI’ın o1 serisi modellerine benzer veya daha iyi sonuçlar elde etti. Bu, modellerin karmaşık problemleri çözme ve akıl yürütme yeteneklerinin yüksek olduğunu gösterir.[4]

Distilasyon (bilgi damıtma) yöntemi, küçük modellerin akıl yürütme yeteneklerini nasıl artırır?

Distilasyon yöntemi, daha büyük modellerin öğrendiği akıl yürütme kalıplarını küçük modellere aktarmayı amaçlar. DeepSeek-R1 gibi büyük modellerin çıktılarından üretilen veriler kullanılarak daha küçük modeller eğitilir. Bu, daha küçük modellerin RL ile elde edilebilecek sonuçlardan çok daha yüksek performans göstermesini sağlar. Distilasyon, daha az kaynakla daha güçlü modeller oluşturulmasını mümkün kılar.[4]

DeepSeek-R1 modelinin gelecekteki geliştirme alanları nelerdir ve hangi sorunlar ele alınacak?

Gelecekteki geliştirme alanları, genel yeteneklerin (işlev çağırma, çok turlu konuşma, rol yapma, json çıktısı) iyileştirilmesi, dil karışımı sorunlarının çözülmesi, istem mühendisliğine duyarlılığın azaltılması ve yazılım mühendisliği görevlerinde RL kullanımının verimliliğinin artırılmasıdır. Ayrıca, modelin daha kullanıcı dostu ve güvenilir hale getirilmesi için çalışmalar devam edecektir.[4]

OpenAI o3

Bu model o1'ın devamı olan o2 modeli niteliğindedir ancak telif hakları nedeniyle o3 ile devam etmektedir. ARC-AGI benchmark’ında alınmamış yüksek skorlar alan bu model diğer modellere göre yavaş ve pahalıdır. o3-mini istek başına 1 dakika bekletip 20 dolar maaliyet çıkarırken o3 15 dakika bekletip 200 dolar maaliyet çıkarmaktadır. ARC-AGI benchmark’ını yapan kişi Francois Chollet o3 modelinin aldığı %80 civarı skorun AGI olduğunu kanıtlamak yerine ARC-AGI’ın eksiklerini kanıtladığını söylemiştir ve ARC-AGI2 üzerinde çalışmaya başladığını belirtmiştir. [5]

o3, Codeforces’ta 2727 ELO puanı alarak küresel sıralamada 175. sıraya yerleşti. Bu, web sitesindeki insanların ~%99,9'undan daha iyi (ki onlar zaten ortalamanın çok üzerinde olma eğilimindeler).[5]
o3 algoritma sorularında insanlar arasında Dünya’da 175. sıraya gelmiş .[5]
Mavi o3 modellerinde mini olan low ARC-AGI’da %75.7 yapmıştı bu ortalama bi insanın skorudur. o3 ise %87.5 yapmıştır bu da fen bilimleri mezunu olan birinin yaptığı %99.9'a yakındır. [5]
ARC-AGI’da yapılan skorların gelişimi, hepsi OpenAI’a aittir.

ARC-AGI

2019 yılında, 2,5 milyondan fazla geliştirici tarafından benimsenen açık kaynaklı derin öğrenme kütüphanesi Keras’ın yaratıcısı olan François Chollet, bilinmeyen görevlerde yapay zeka beceri ediniminin verimliliğini ölçmek için “Yapay Genel Zeka için Soyut ve Muhakeme Derlemi” (ARC-AGI) ölçütünü tanıttığı etkili “Zekanın Ölçülmesi Üzerine” adlı makaleyi yayınladı.[5]

AGI, eğitim verilerinin dışında yeni becerileri etkili bir şekilde edinebilen bir sistemdir.[5]

ARC-AGI benzersiz eğitim ve değerlendirme görevlerinden oluşur. Her görev girdi-çıktı örnekleri içerir. Bulmaca benzeri girdiler ve çıktılar, her karenin on renkten biri olabileceği bir ızgara sunar. Izgara, 1x1 ile 30x30 arasında herhangi bir yükseklik veya genişlikte olabilir.[5]

Bir sistemin zekası, ön bilgiler, deneyim ve genelleme zorluğu açısından bir dizi görev üzerindeki beceri edinme verimliliğinin bir ölçüsüdür.[5]

Varsayılan Bilgi

ARC-AGI, yapay zekayı insan zekasıyla karşılaştırmak için açıkça tasarlanmıştır. Bunu yapmak için ARC-AGI, karşılaştırma için adil bir zemin sağlamak amacıyla insanların sahip olduğu ön bilgileri açıkça listeler. Bu “temel bilgi ön bilgileri”, insanların çocuklukta bile doğal olarak sahip oldukları bilgilerdir. [5]

  1. Nesnellik
    Objects persist and cannot appear or disappear without reason. Objects can interact or not depending on the circumstances. [5]
  2. Hedef Odaklılık
    Nesneler canlı veya cansız olabilir. Bazı nesneler “araçlardır” — niyetleri vardır ve hedefleri takip ederler. [5]
  3. Sayılar ve sayma
    Nesneler, toplama, çıkarma ve karşılaştırma gibi temel matematik kullanılarak şekillerine, görünümlerine veya hareketlerine göre sayılabilir veya sıralanabilir. [5]
  4. Temel geometri ve topoloji
    Nesneler, yansıtılabilen, döndürülebilen, çevrilebilen, deforme edilebilen, birleştirilebilen, tekrarlanabilen vb. dikdörtgenler, üçgenler ve daireler gibi şekiller olabilir. Mesafelerdeki farklılıklar tespit edilebilir. [5]

ARC-AGI, örneğin dil gibi edinilmiş veya kültürel bilgi gibi bu ön bilgilerin parçası olmayan herhangi bir bilgiye güvenmekten kaçınır.[5]

Kaynaklar

[1] Deeplearning.ai, (2025), Reasoning with O1:

[https://www.deeplearning.ai/short-courses/reasoning-with-o1/]

[2] OpenAI, (2025), Reasoning models:

[https://platform.openai.com/docs/guides/reasoning]

[3] Yu Zhao, Huifeng Yin, Bo Zeng, Hao Wang, Tianqi Shi, Chenyang Lyu, Longyue Wang, Weihua Luo, Kaifu Zhang (25 Nov 2024), Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions

[https://arxiv.org/abs/2411.14405]

[4] Deepseek.ai, (2025), Deepseek R1 (Reasoner 1):

[https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf]

[5] cbarkinozer, (2025), OpenAI o3 Duyuruldu! AGI’a Erişildi mi? ARC-AGI Nedir?

[https://www.youtube.com/watch?v=NQwnblyA9RQ&themeRefresh=1]

--

--

Cahit Barkin Ozer
Cahit Barkin Ozer

Written by Cahit Barkin Ozer

Üretken YZ başta olmak üzere teknoloji alanındaki yenilikleri öğrenip sizlerle paylaşıyorum. Youtube Kanalım: https://www.youtube.com/@cbarkinozer

No responses yet