{"id":2163,"date":"2024-01-04T13:12:32","date_gmt":"2024-01-04T05:12:32","guid":{"rendered":"https:\/\/pjq.me\/?p=2163"},"modified":"2024-01-04T18:21:31","modified_gmt":"2024-01-04T10:21:31","slug":"fine-tune-llama2-on-mac","status":"publish","type":"post","link":"https:\/\/pjq.me\/?p=2163","title":{"rendered":"Fine tune llama2 on Mac"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/pjq.me\/?p=2163\/#Prepare\" >Prepare<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/pjq.me\/?p=2163\/#Reference\" >Reference<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prepare\"><\/span>Prepare<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download llama2 gguf format model\n<ul class=\"wp-block-list\">\n<li>https:\/\/huggingface.co\/TheBloke\/Llama-2-7B-GGUF<\/li>\n\n\n\n<li>and put it into &#8220;.\/models\/llama-2\u20137b\/&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -lht models\/llama-2-7b\ntotal 7997112\n-rw-r--r--@ 1 user  staff   3.8G Jan  4 13:12 llama-2-7b.Q4_K_M.gguf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li> 2. Build the llama.cpp<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/ggerganov\/llama.cpp\ncd llama.cpp\nmake -j<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3. Prepare the fine tuning data<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir tinystories &amp;&amp; cd tinystories\nwget https:\/\/huggingface.co\/datasets\/roneneldan\/TinyStories\/resolve\/main\/TinyStories_all_data.tar.gz\ntar xf TinyStories_all_data.tar.gz<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>4. Then run the fine tune command<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/finetune --model-base .\/models\/llama-2-7b\/ggml-model-q4_0.gguf --train-data tinystories\/data49.txt --threads 26 --sample-start \"&lt;s>\" --ctx 512\n.\/finetune --model-base .\/models\/llama-2-7b\/llama-2-7b.Q4_K_M.gguf --train-data data\/allinone.md --threads 26 --sample-start \"&lt;s>\" --ctx 512<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/finetune --model-base .\/models\/llama-2-7b\/llama-2-7b.Q4_K_M.gguf --train-data data\/allinone.md --threads 26 --sample-start \"&lt;s>\" --ctx 512\nmain: seed: 1704345676\nmain: model base = '.\/models\/llama-2-7b\/llama-2-7b.Q4_K_M.gguf'\nllama_model_loader: loaded meta data with 19 key-value pairs and 291 tensors from .\/models\/llama-2-7b\/llama-2-7b.Q4_K_M.gguf (version GGUF V2)\nllama_model_loader: Dumping metadata keys\/values. Note: KV overrides do not apply in this output.\nllama_model_loader: - kv   0:                       general.architecture str              = llama\nllama_model_loader: - kv   1:                               general.name str              = LLaMA v2\nllama_model_loader: - kv   2:                       llama.context_length u32              = 4096\nllama_model_loader: - kv   3:                     llama.embedding_length u32              = 4096\nllama_model_loader: - kv   4:                          llama.block_count u32              = 32\nllama_model_loader: - kv   5:                  llama.feed_forward_length u32              = 11008\nllama_model_loader: - kv   6:                 llama.rope.dimension_count u32              = 128\nllama_model_loader: - kv   7:                 llama.attention.head_count u32              = 32\nllama_model_loader: - kv   8:              llama.attention.head_count_kv u32              = 32\nllama_model_loader: - kv   9:     llama.attention.layer_norm_rms_epsilon f32              = 0.000010\nllama_model_loader: - kv  10:                          general.file_type u32              = 15\nllama_model_loader: - kv  11:                       tokenizer.ggml.model str              = llama\nllama_model_loader: - kv  12:                      tokenizer.ggml.tokens arr&#91;str,32000]   = &#91;\"&lt;unk>\", \"&lt;s>\", \"&lt;\/s>\", \"&lt;0x00>\", \"&lt;...\nllama_model_loader: - kv  13:                      tokenizer.ggml.scores arr&#91;f32,32000]   = &#91;0.000000, 0.000000, 0.000000, 0.0000...\nllama_model_loader: - kv  14:                  tokenizer.ggml.token_type arr&#91;i32,32000]   = &#91;2, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, ...\nllama_model_loader: - kv  15:                tokenizer.ggml.bos_token_id u32              = 1\nllama_model_loader: - kv  16:                tokenizer.ggml.eos_token_id u32              = 2\nllama_model_loader: - kv  17:            tokenizer.ggml.unknown_token_id u32              = 0\nllama_model_loader: - kv  18:               general.quantization_version u32              = 2\nllama_model_loader: - type  f32:   65 tensors\nllama_model_loader: - type q4_K:  193 tensors\nllama_model_loader: - type q6_K:   33 tensors\nllm_load_vocab: special tokens definition check successful ( 259\/32000 ).\nllm_load_print_meta: format           = GGUF V2\nllm_load_print_meta: arch             = llama\nllm_load_print_meta: vocab type       = SPM\nllm_load_print_meta: n_vocab          = 32000\nllm_load_print_meta: n_merges         = 0\nllm_load_print_meta: n_ctx_train      = 4096\nllm_load_print_meta: n_embd           = 4096\nllm_load_print_meta: n_head           = 32\nllm_load_print_meta: n_head_kv        = 32\nllm_load_print_meta: n_layer          = 32\nllm_load_print_meta: n_rot            = 128\nllm_load_print_meta: n_embd_head_k    = 128\nllm_load_print_meta: n_embd_head_v    = 128\nllm_load_print_meta: n_gqa            = 1\nllm_load_print_meta: n_embd_k_gqa     = 4096\nllm_load_print_meta: n_embd_v_gqa     = 4096\nllm_load_print_meta: f_norm_eps       = 0.0e+00\nllm_load_print_meta: f_norm_rms_eps   = 1.0e-05\nllm_load_print_meta: f_clamp_kqv      = 0.0e+00\nllm_load_print_meta: f_max_alibi_bias = 0.0e+00\nllm_load_print_meta: n_ff             = 11008\nllm_load_print_meta: n_expert         = 0\nllm_load_print_meta: n_expert_used    = 0\nllm_load_print_meta: rope scaling     = linear\nllm_load_print_meta: freq_base_train  = 10000.0\nllm_load_print_meta: freq_scale_train = 1\nllm_load_print_meta: n_yarn_orig_ctx  = 4096\nllm_load_print_meta: rope_finetuned   = unknown\nllm_load_print_meta: model type       = 7B\nllm_load_print_meta: model ftype      = Q4_K - Medium\nllm_load_print_meta: model params     = 6.74 B\nllm_load_print_meta: model size       = 3.80 GiB (4.84 BPW)\nllm_load_print_meta: general.name     = LLaMA v2\nllm_load_print_meta: BOS token        = 1 '&lt;s>'\nllm_load_print_meta: EOS token        = 2 '&lt;\/s>'\nllm_load_print_meta: UNK token        = 0 '&lt;unk>'\nllm_load_print_meta: LF token         = 13 '&lt;0x0A>'\nllm_load_tensors: ggml ctx size       =    0.11 MiB\nllm_load_tensors: system memory used  = 3891.35 MiB\n..................................................................................................\nllama_new_context_with_model: n_ctx      = 512\nllama_new_context_with_model: freq_base  = 10000.0\nllama_new_context_with_model: freq_scale = 1\nllama_new_context_with_model: KV self size  =  256.00 MiB, K (f16):  128.00 MiB, V (f16):  128.00 MiB\nllama_build_graph: non-view tensors processed: 676\/676\nllama_new_context_with_model: compute buffer total size = 73.69 MiB\nmain: init model\nprint_params: n_vocab               : 32000\nprint_params: n_ctx                 : 512\nprint_params: n_embd                : 4096\nprint_params: n_ff                  : 11008\nprint_params: n_head                : 32\nprint_params: n_head_kv             : 32\nprint_params: n_layer               : 32\nprint_params: norm_rms_eps          : 0.000010\nprint_params: rope_freq_base        : 10000.000000\nprint_params: rope_freq_scale       : 1.000000\nprint_lora_params: n_rank_attention_norm : 1\nprint_lora_params: n_rank_wq             : 4\nprint_lora_params: n_rank_wk             : 4\nprint_lora_params: n_rank_wv             : 4\nprint_lora_params: n_rank_wo             : 4\nprint_lora_params: n_rank_ffn_norm       : 1\nprint_lora_params: n_rank_w1             : 4\nprint_lora_params: n_rank_w2             : 4\nprint_lora_params: n_rank_w3             : 4\nprint_lora_params: n_rank_tok_embeddings : 4\nprint_lora_params: n_rank_norm           : 1\nprint_lora_params: n_rank_output         : 4\nmain: total train_iterations 0\nmain: seen train_samples     0\nmain: seen train_tokens      0\nmain: completed train_epochs 0\nmain: lora_size = 84863776 bytes (80.9 MB)\nmain: opt_size  = 126593008 bytes (120.7 MB)\nmain: opt iter 0\nmain: input_size = 524304416 bytes (500.0 MB)\nmain: compute_size = 24360536160 bytes (23232.0 MB)\nmain: evaluation order = LEFT_TO_RIGHT\nmain: tokenize training data\ntokenize_file: warning: sample start pattern '&lt;s>' not found. inserting single sample at data begin\ntokenize_file: warning: found 1 samples (max length 30173) that exceed context length of 512. samples will be cut off.\ntokenize_file: total number of samples: 1\nmain: number of training tokens: 30173\nmain: number of unique tokens: 1460\nmain: train data seems to have changed. restarting shuffled epoch.\nmain: begin training\nmain: work_size = 3329736 bytes (3.2 MB)\ntrain_opt_callback: iter=     0 sample=1\/1 sched=0.000000 loss=0.000000 |->\ntrain_opt_callback: reshuffle samples. completed epochs: 1\ntrain_opt_callback: iter=     1 sample=1\/1 sched=0.010000 loss=2.079438 dt=00:04:04 eta=17:20:26 |->\ntrain_opt_callback: reshuffle samples. completed epochs: 2<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"373\" src=\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png\" alt=\"\" class=\"wp-image-2167\" style=\"width:819px;height:auto\" srcset=\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png 1024w, https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-300x109.png 300w, https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-768x280.png 768w, https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1536x559.png 1536w, https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image.png 1541w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>5. How to run the fine tuned model<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code> .\/main --interactive --model .\/models\/llama-2-7b\/llama-2-7b.Q4_K_M.gguf --lora ggml-lora-LATEST-f32.gguf --prompt\"Can you please write a children's story with 200 words about father and son and friendship and bravery?\"\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Reference\"><\/span>Reference<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>https:\/\/blog.gopenai.com\/how-to-fine-tune-llama-2-on-mac-studio-4b42f317c975<\/li>\n\n\n\n<li>https:\/\/github.com\/huggingface\/autotrain-advanced<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Prepare Reference<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2163","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fine tune llama2 on Mac - Jianqing&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pjq.me\/?p=2163\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fine tune llama2 on Mac - Jianqing&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"Prepare Reference\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pjq.me\/?p=2163\" \/>\n<meta property=\"og:site_name\" content=\"Jianqing&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-04T05:12:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-04T10:21:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png\" \/>\n<meta name=\"author\" content=\"pengjianqing\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"pengjianqing\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/pjq.me\/?p=2163#article\",\"isPartOf\":{\"@id\":\"https:\/\/pjq.me\/?p=2163\"},\"author\":{\"name\":\"pengjianqing\",\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\"},\"headline\":\"Fine tune llama2 on Mac\",\"datePublished\":\"2024-01-04T05:12:32+00:00\",\"dateModified\":\"2024-01-04T10:21:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/pjq.me\/?p=2163\"},\"wordCount\":62,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\"},\"image\":{\"@id\":\"https:\/\/pjq.me\/?p=2163#primaryimage\"},\"thumbnailUrl\":\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/pjq.me\/?p=2163#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/pjq.me\/?p=2163\",\"url\":\"https:\/\/pjq.me\/?p=2163\",\"name\":\"Fine tune llama2 on Mac - Jianqing&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\/\/pjq.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/pjq.me\/?p=2163#primaryimage\"},\"image\":{\"@id\":\"https:\/\/pjq.me\/?p=2163#primaryimage\"},\"thumbnailUrl\":\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png\",\"datePublished\":\"2024-01-04T05:12:32+00:00\",\"dateModified\":\"2024-01-04T10:21:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/pjq.me\/?p=2163#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/pjq.me\/?p=2163\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/pjq.me\/?p=2163#primaryimage\",\"url\":\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image.png\",\"contentUrl\":\"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image.png\",\"width\":1541,\"height\":561},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/pjq.me\/?p=2163#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/pjq.me\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fine tune llama2 on Mac\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/pjq.me\/#website\",\"url\":\"https:\/\/pjq.me\/\",\"name\":\"Jianqing&#039;s Blog\",\"description\":\"Thoughts and Future\",\"publisher\":{\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/pjq.me\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\",\"name\":\"pengjianqing\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png\",\"contentUrl\":\"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png\",\"width\":460,\"height\":752,\"caption\":\"pengjianqing\"},\"logo\":{\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/pjq.me\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fine tune llama2 on Mac - Jianqing&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pjq.me\/?p=2163","og_locale":"en_US","og_type":"article","og_title":"Fine tune llama2 on Mac - Jianqing&#039;s Blog","og_description":"Prepare Reference","og_url":"https:\/\/pjq.me\/?p=2163","og_site_name":"Jianqing&#039;s Blog","article_published_time":"2024-01-04T05:12:32+00:00","article_modified_time":"2024-01-04T10:21:31+00:00","og_image":[{"url":"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png","type":"","width":"","height":""}],"author":"pengjianqing","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pengjianqing","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pjq.me\/?p=2163#article","isPartOf":{"@id":"https:\/\/pjq.me\/?p=2163"},"author":{"name":"pengjianqing","@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60"},"headline":"Fine tune llama2 on Mac","datePublished":"2024-01-04T05:12:32+00:00","dateModified":"2024-01-04T10:21:31+00:00","mainEntityOfPage":{"@id":"https:\/\/pjq.me\/?p=2163"},"wordCount":62,"commentCount":0,"publisher":{"@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60"},"image":{"@id":"https:\/\/pjq.me\/?p=2163#primaryimage"},"thumbnailUrl":"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pjq.me\/?p=2163#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pjq.me\/?p=2163","url":"https:\/\/pjq.me\/?p=2163","name":"Fine tune llama2 on Mac - Jianqing&#039;s Blog","isPartOf":{"@id":"https:\/\/pjq.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pjq.me\/?p=2163#primaryimage"},"image":{"@id":"https:\/\/pjq.me\/?p=2163#primaryimage"},"thumbnailUrl":"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image-1024x373.png","datePublished":"2024-01-04T05:12:32+00:00","dateModified":"2024-01-04T10:21:31+00:00","breadcrumb":{"@id":"https:\/\/pjq.me\/?p=2163#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pjq.me\/?p=2163"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pjq.me\/?p=2163#primaryimage","url":"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image.png","contentUrl":"https:\/\/pjq.me\/wp-content\/uploads\/2024\/01\/image.png","width":1541,"height":561},{"@type":"BreadcrumbList","@id":"https:\/\/pjq.me\/?p=2163#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pjq.me\/"},{"@type":"ListItem","position":2,"name":"Fine tune llama2 on Mac"}]},{"@type":"WebSite","@id":"https:\/\/pjq.me\/#website","url":"https:\/\/pjq.me\/","name":"Jianqing&#039;s Blog","description":"Thoughts and Future","publisher":{"@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pjq.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60","name":"pengjianqing","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pjq.me\/#\/schema\/person\/image\/","url":"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png","contentUrl":"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png","width":460,"height":752,"caption":"pengjianqing"},"logo":{"@id":"https:\/\/pjq.me\/#\/schema\/person\/image\/"},"url":"https:\/\/pjq.me\/?author=1"}]}},"views":3623,"_links":{"self":[{"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts\/2163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2163"}],"version-history":[{"count":5,"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts\/2163\/revisions"}],"predecessor-version":[{"id":2170,"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts\/2163\/revisions\/2170"}],"wp:attachment":[{"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}