{"id":36163,"date":"2024-11-01T09:46:17","date_gmt":"2024-11-01T09:46:17","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36163"},"modified":"2024-11-01T09:46:17","modified_gmt":"2024-11-01T09:46:17","slug":"hugging-face-transformers-tutorial-mobile-bert-inference-using-the-last-hidden-layer","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36163\/","title":{"rendered":"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer"},"content":{"rendered":"<p><body><\/p>\n<p>In recent years, deep learning-based models have gained popularity and made significant advancements in the field of Natural Language Processing (NLP). Among them, <strong>Hugging Face<\/strong>\u2019s transformer models are popular due to their ease of use and performance. In particular, <strong>Mobile BERT<\/strong> is a lightweight version of the BERT model, designed to be effectively used in mobile environments. In this course, we will introduce how to extract the output of the last hidden layer using the Mobile BERT model.<\/p>\n<h2>1. What is Mobile BERT?<\/h2>\n<p>Mobile BERT is a model released by Google as a lightweight version of BERT. The BERT model is based on two main components: <strong>Encoder<\/strong> and <strong>Decoder<\/strong>, and Mobile BERT has optimized the Encoder to be lightweight so that it can be used on various mobile devices. Mobile BERT has 4 times fewer parameters and applies various techniques to enhance computational efficiency.<\/p>\n<h2>2. Installing the Hugging Face Library<\/h2>\n<p>To use the Hugging Face transformer model, you first need to install the required libraries. You can use the command below to install the libraries.<\/p>\n<pre><code>pip install transformers torch<\/code><\/pre>\n<h2>3. Loading the Mobile BERT Model<\/h2>\n<p>Once the model is installed, you can load the Mobile BERT model. Here is a basic code snippet.<\/p>\n<pre><code>from transformers import MobileBertTokenizer, MobileBertModel\n\n# Load Mobile BERT model and tokenizer\ntokenizer = MobileBertTokenizer.from_pretrained('google\/mobilebert-uncased')\nmodel = MobileBertModel.from_pretrained('google\/mobilebert-uncased')<\/code><\/pre>\n<h2>4. Preprocessing Input Data<\/h2>\n<p>The data input to the Mobile BERT model must be in text format and should be converted into the appropriate format through the tokenizer. Here\u2019s how to preprocess the input sentence.<\/p>\n<pre><code># Define input sentence\ninput_text = \"Try using Hugging Face's transformer!\"\n\n# Tokenize the sentence and convert to indices\ninputs = tokenizer(input_text, return_tensors='pt')<\/code><\/pre>\n<h2>5. Inference via the Model<\/h2>\n<p>Once preprocessing is complete, the data can be input to the Mobile BERT model to obtain the output of the last hidden layer. The output can be computed using the model&#8217;s <code>forward<\/code> method.<\/p>\n<pre><code>with torch.no_grad():\n    outputs = model(**inputs)\n\n# The output of the last hidden layer is stored in outputs[0].\nlast_hidden_states = outputs.last_hidden_state\nprint(last_hidden_states.shape)  # (batch size, sequence length, hidden size)<\/code><\/pre>\n<h2>6. Interpreting Results<\/h2>\n<p>The output of the last hidden layer is returned as a 3-dimensional tensor. The first dimension of the tensor is the batch size, the second dimension is the sequence length (the number of words in the sentence), and the third dimension is the dimension of the hidden layer. For example, if the batch size is 1, the sequence length is 10, and the hidden layer dimension is 768, the shape of the output will be (1, 10, 768).<\/p>\n<h2>7. Application Example: Extracting Embedding Vectors<\/h2>\n<p>The output of the last hidden layer can be used as the embedding vectors for each word. These vectors can be utilized for various NLP tasks.<\/p>\n<pre><code># Extract embedding vector of the first word\nword_embedding = last_hidden_states[0, 0, :]  # (768,)\nprint(word_embedding.shape)<\/code><\/pre>\n<h2>8. Summary<\/h2>\n<p>In this post, we explored how to utilize the Mobile BERT model using the Hugging Face transformer library. We covered data preprocessing, inference processes, and how to obtain the sequence output of the last hidden layer. These methods can be employed in various NLP applications and are being used in many research and industrial fields.<\/p>\n<h2>9. References<\/h2>\n<p>You can find more detailed information at the following links:<\/p>\n<ul>\n<li><a href=\"https:\/\/huggingface.co\/docs\/transformers\/index\" target=\"_blank\" rel=\"noopener\">Hugging Face Transformers Documentation<\/a><\/li>\n<li><a href=\"https:\/\/arxiv.org\/abs\/2004.02984\" target=\"_blank\" rel=\"noopener\">MobileBERT: Model Compression and Acceleration for Natural Language Processing<\/a><\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In recent years, deep learning-based models have gained popularity and made significant advancements in the field of Natural Language Processing (NLP). Among them, Hugging Face\u2019s transformer models are popular due to their ease of use and performance. In particular, Mobile BERT is a lightweight version of the BERT model, designed to be effectively used in &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36163\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[108],"tags":[],"class_list":["post-36163","post","type-post","status-publish","format-standard","hentry","category---en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/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:\/\/atmokpo.com\/w\/36163\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"In recent years, deep learning-based models have gained popularity and made significant advancements in the field of Natural Language Processing (NLP). Among them, Hugging Face\u2019s transformer models are popular due to their ease of use and performance. In particular, Mobile BERT is a lightweight version of the BERT model, designed to be effectively used in &hellip; \ub354 \ubcf4\uae30 &quot;Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36163\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:46:17+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36163\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36163\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer\",\"datePublished\":\"2024-11-01T09:46:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36163\/\"},\"wordCount\":465,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Using Hugging Face\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36163\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36163\/\",\"name\":\"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:46:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36163\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36163\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36163\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/36163\/","og_locale":"ko_KR","og_type":"article","og_title":"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"In recent years, deep learning-based models have gained popularity and made significant advancements in the field of Natural Language Processing (NLP). Among them, Hugging Face\u2019s transformer models are popular due to their ease of use and performance. In particular, Mobile BERT is a lightweight version of the BERT model, designed to be effectively used in &hellip; \ub354 \ubcf4\uae30 \"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer\"","og_url":"https:\/\/atmokpo.com\/w\/36163\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:46:17+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36163\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36163\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer","datePublished":"2024-11-01T09:46:17+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36163\/"},"wordCount":465,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Using Hugging Face"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36163\/","url":"https:\/\/atmokpo.com\/w\/36163\/","name":"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:46:17+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36163\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36163\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36163\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Hugging Face Transformers Tutorial, Mobile BERT Inference Using the Last Hidden Layer"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=36163"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36163\/revisions"}],"predecessor-version":[{"id":36164,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36163\/revisions\/36164"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}