CodeGemma 是一系列功能強大、輕量化的模型,可以執行各種程式碼任務,例如填空中程式碼完成、程式碼生成、自然語言理解、數學推理和指令遵循。

2b 7b

476.7K 6 個月前

讀我檔案

CodeGemma 是一系列功能強大、輕量化的模型,可以執行各種程式碼任務,例如填空中程式碼完成、程式碼生成、自然語言理解、數學推理和指令遵循。

變體版本

  • instruct 是一個針對自然語言到程式碼聊天和指令遵循進行指令調整的 7b 變體版本
  • code 是一個 7b 預訓練變體版本,專門用於從程式碼前綴和/或後綴完成和生成程式碼
  • 2b 是一個最先進的 2B 預訓練變體版本,可提供高達 2 倍的程式碼完成速度

優點

  • 智慧型程式碼完成和生成:完成程式碼行、函數,甚至生成整個程式碼區塊,無論您是在本機工作還是使用 Google Cloud 資源。

  • 提升的準確性:CodeGemma 模型主要使用來自網路文件、數學和程式碼的 5000 億個 token 的英文資料進行訓練,生成的程式碼不僅語法更正確,而且語義也更有意義,從而減少錯誤和除錯時間。

  • 多語言能力:支援 Python、JavaScript、Java、Kotlin、C++、C#、Rust、Go 和其他語言。

  • 簡化工作流程:將 CodeGemma 模型整合到您的開發環境中,以減少編寫樣板程式碼,並更快地專注於重要且與眾不同的程式碼。

benchmarks

填空中間

CodeGemma 模型支援填空中間 (FIM),可用於自動完成或程式碼助理工具。以下是使用 Ollama Python 函式庫的範例

response = generate(
  model='codegemma:2b-code',
  prompt=f'<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>',
  options={
    'num_predict': 128,
    'temperature': 0,
    'top_p': 0.9,
    'stop': ['<|file_separator|>'],
  },
)

參考文獻

Hugging Face

報告