Large language model configured to direct domain-specific queries to domain-specific edge models

By using a hierarchical system architecture and a multimodal generator model in oil and gas drilling environments, the computationally intensive nature of rock physics analysis is addressed, enabling efficient, real-time decision support on edge devices and enhancing the accuracy and adaptability of rock physics analysis.

CN121773409APending Publication Date: 2026-03-31HALLIBURTON ENERGY SERVICES INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-03
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In oil and gas drilling and production environments, existing computationally intensive rock physics analysis results in high costs and latency, and large language models are difficult to deploy on edge devices, making real-time decision-making impossible.

Method used

It adopts a hierarchical system architecture, including a control LLM and multiple domain-specific LLMs. By running smaller domain-specific LLMs on edge devices, it reduces computational footprint and combines multimodal generator models to process complex visual data, providing real-time rock physics decision support.

Benefits of technology

It enables efficient, real-time rock physics analysis on edge devices, reduces computational resource requirements, enhances understanding of rock physics and decision-making accuracy, and adapts to tool-specific and site-specific knowledge.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121773409A_ABST
    Figure CN121773409A_ABST
Patent Text Reader

Abstract

Systems and techniques for implementing a petrophysics assistant are described herein. An example method may include receiving, by a control language model configured to perform natural language processing, queries related to one or more subject fields; selecting one or more domain-specific language models from a plurality of domain-specific language models to answer the query based on the one or more subject domains associated with the query and respective domain-specific knowledge from each domain-specific language model of the plurality of domain-specific language models; sending a request to answer the query to the one or more domain-specific language models; and generating, by the control language model, a response to the query based on one or more responses to the query received from the one or more domain-specific language models.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims the benefit of U.S. non-provisional application No. 18 / 386,416, filed November 2, 2023, which is incorporated herein by reference. Technical Field

[0003] This disclosure relates generally to large language models used as assistants for various applications. For example, aspects of this disclosure relate to systems and techniques for implementing large language models configured to direct domain-specific queries to domain-specific edge models. Background Technology

[0004] To manage and perform operations in oil and gas drilling and production environments (e.g., wellbore), operators typically acquire and evaluate various types of data, such as measurements and other sensor data, to gain insights into conditions within the formation and wellbore. For example, sensor data can be used to identify features within the formation and other details about the wellbore and / or associated operations. However, downhole conditions and associated constraints within the wellbore can present significant challenges in monitoring downhole conditions and deploying systems such as sensors and other wellbore tools. Some examples of downhole conditions and constraints in the wellbore may include extreme temperatures, extreme pressures, spatial constraints, formation resistivity, formation conductivity, formation permeability, and complex mixtures of different elements. Generally, certain computational resources are available to obtain information for managing the wellbore environment and / or performing wellbore operations. The calculations used to make or facilitate such determinations and estimates can be resource-intensive and may result in costly delays, which can increase costs and impact wellbore operations. Attached Figure Description

[0005] The exemplary examples and aspects of this application are described in detail below with reference to the following figures: Figure 1A This is a schematic side view of an example cable logging environment based on some examples of this disclosure; Figure 1B Based on some examples of this disclosure Figure 1A A schematic side view of an example logging environment; Figure 2 This is a diagram illustrating an example architecture of an example rock physics assistant according to some examples of this disclosure; Figure 3 This is a diagram illustrating an example system for generating training data for training large language models, according to some examples of this disclosure; Figure 4 These are illustrations used by an example rock physics assistant, illustrating some examples of this disclosure; Figure 5 Example neural networks are illustrated according to some examples of this disclosure; Figure 6 This is a diagram illustrating example model architectures that can be used to implement large language models, based on some examples of this disclosure; Figure 7 This is a flowchart illustrating example processes for implementing a rock physics assistant according to some examples of this disclosure; and Figure 8 Example computing devices and hardware are illustrated, representing some aspects of the disclosed techniques. Detailed Implementation

[0006] Various aspects and examples of this disclosure are discussed in detail below. While specific embodiments are discussed, it should be understood that this is for illustrative purposes only. Those skilled in the art will recognize that other components and configurations can be used without departing from the spirit and scope of this disclosure. Therefore, the following description and figures are illustrative and should not be construed as limiting. Numerous specific details are described to provide a thorough understanding of this disclosure. However, in some cases, well-known or conventional details have not been described to avoid obscuring the description. References in this disclosure to an embodiment or an aspect, or an example or an example, may refer to the same embodiment / example / aspect / etc., or any embodiment / example / aspect / etc., and such references mean at least one of the embodiments, examples, and / or aspects.

[0007] Furthermore, references to "an embodiment" or "an implementation" mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of this disclosure. The phrase "in an embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment that is mutually exclusive with other embodiments. In addition, various features that may be exhibited by some embodiments but not by others are described.

[0008] The terms used in this specification generally have their ordinary meaning in the art within the context of this disclosure and in the specific context in which each term is used. Alternative language and synonyms may be used for any one or more terms discussed herein, and should not be given special meaning regardless of whether the terms are described in detail or discussed herein. In some cases, synonyms for certain terms are provided. A detailed description of one or more synonyms does not preclude the use of other synonyms. Examples used anywhere in this specification (including examples of any terms discussed herein) are merely illustrative and are not intended to further limit the scope and meaning of this disclosure or any of the example terms. Similarly, this disclosure is not limited to the various embodiments given in this specification.

[0009] Without limiting the scope of this disclosure, examples of instruments, techniques, systems, apparatuses, methods (also referred to herein as processes), non-transitory computer-readable media, and related results based on examples and aspects of this disclosure are given below. It should be noted that headings or subheadings may be used in the examples for the reader's convenience, but this should in no way limit the scope of this disclosure. Unless otherwise defined, the technical and scientific terms used herein have the meanings commonly understood by one of ordinary skill in the art to which this disclosure pertains. In case of conflict, this document (including the definitions) shall prevail.

[0010] Further features and advantages of this disclosure will be set forth in the following description and will be apparent in part from the description, or may be learned by practicing the principles disclosed herein. The features and advantages of this disclosure can be realized and obtained by the instruments and combinations particularly pointed out in the appended claims. These and other features of this disclosure will become more fully apparent from the following description and the appended claims, or may be learned by practicing the principles set forth herein.

[0011] Rock physics is a branch of Earth science that focuses on studying and understanding the physical properties of rocks and the fluids contained within them. Information about the physical properties of rocks and the fluids contained within them is used in the oil and gas industry because these properties can affect the location, volume, and recoverability of hydrocarbons within reservoirs. Rock physics provides quantitative data that helps characterize reservoirs, assess their potential, and ultimately guide optimal extraction technologies.

[0012] In rock physics, various logging tools are used to obtain a wide range of measurements of rock and fluid properties. Non-limiting examples of such measurements and tools include gamma-ray, resistivity, neutron, density, acoustic, nuclear magnetic resonance (NMR), imaging logging, and wireline formation testing. These logs provide measurements of a wide range of rock and fluid properties, such as porosity, permeability, saturation, fluid type, and / or lithology. However, implementing comprehensive rock physics analyses presents several challenges. For example, measurements made by logging tools are often indirect, meaning there are inherent uncertainties in translating such measurements into meaningful reservoir properties.

[0013] Furthermore, each logging tool responds differently to various formation conditions, and their measurements are typically influenced by multiple variables. A deeper understanding of tool physics and applied experience or analytical models may be required to better interpret such measurements. In addition, reservoirs themselves are often complex, with variations in lithology, fluid content, pressure, and / or temperature that can occur on a small scale. These variations in rock physics can further complicate interpretation. External factors such as borehole conditions and mud type can also affect logging measurements and may require appropriate corrections. Moreover, the high cost of logging operations and the need for real-time or near-real-time decision-making further increase the pressure to provide accurate interpretations quickly and efficiently.

[0014] Furthermore, rock physics is often site-specific. Each site presents a unique set of geological conditions, such as different rock types, sedimentary environments, fluid composition, tectonic history, and burial conditions. These differences can influence how various rock physics properties are represented and interpreted at a site. For example, the same well logging response might suggest high-porosity sandstone in one site and low-porosity limestone in another, depending on the specific lithology, fluid content, and reservoir conditions. Therefore, knowledge of the specific site under study may be necessary for accurate rock physics interpretation. To this end, rock physicists can incorporate site-specific knowledge into their interpretation models, adapting them to site observations, core analysis, production data, and / or previous well logging interpretations.

[0015] To address these challenges, rock physicists typically rely on a combination of expertise, practical experience, and advanced analytical techniques. The ultimate goal is to generate a comprehensive and accurate understanding of the reservoir, which supports effective decision-making in exploration, drilling, and production activities. Each rock physics problem may present its own set of challenges, usually requiring a deep understanding of fundamental principles, considerable problem-solving skills, and advanced reasoning abilities. In many cases, solving a problem may require rock physicists to rely on a combination of rock physics principles and tailored solutions to the specific circumstances of the current scenario. Therefore, the expertise and experience of rock physicists can be extremely valuable when tackling such problems. In fact, the ability to leverage past knowledge while innovatively applying rock physics concepts to new challenges can be crucial in the field of rock physics. For example, rock physicists may need to critically evaluate data from different sources to identify patterns, establish connections, and make informed decisions under conditions of uncertainty.

[0016] Many machine learning (ML) and artificial intelligence (AI) models, such as large language models (LLMs), excel at understanding complex knowledge domains, such as the principles of rock physics, by being trained on large datasets and implementing a large number of parameters. These models possess the ability to parse and analyze vast amounts of information, establish connections, and provide reasonable responses based on the data they are trained on. Furthermore, the models may exhibit a degree of problem-solving skill. Given these capabilities, such models can serve as effective assistants to human rock physicists. For example, given LLMs' ability to retrieve principles of rock physics, examine data, and propose solutions based on extensive knowledge, they can enhance the capabilities of human rock physicists. In some examples, LLMs can handle routine analysis, propose different solutions, and free up rock physicists to tackle other, more complex and ambiguous problems that might be better suited to a human perspective.

[0017] While leveraging ML / AI models in rock physics offers potential benefits, implementing such models in the field presents significant challenges. For example, the complex and often tool-specific nature of rock physics data interpretation can pose considerable obstacles. Each logging tool generates data that needs to be understood within its unique context, and each study site has its own set of geological and physical considerations. Furthermore, rock physics interpretation typically requires complex site-specific knowledge gleaned from years of experience and research.

[0018] While the multi-adaptability of models trained on extensive datasets (such as LLMs) endows them with a broad knowledge base, such models are not specifically trained as rock physicists. Their understanding of the field may come from a wide range of sources, which may not always reflect the depth and specificity of knowledge possessed by experienced rock physicists. This lack of targeted training can lead to deficiencies in their understanding and application of complex rock physics concepts. Therefore, these models can greatly benefit from more specialized, integrated experience surrounding rock physics principles, tools, and site-specific case studies. This targeted approach, simulating the extensive training and practical experience gained by human rock physicists over many years, provides models with a more nuanced understanding of the field, enhances their ability to handle specific rock physics challenges, and increases their potential as effective rock physics assistants.

[0019] A significant challenge in the practical application of rock physics is that decision-making is often performed in locations with limited or no internet connectivity, such as well sites or remote operations. Furthermore, due to the sensitive nature of oilfield data, many operations have stringent security protocols that require information to be stored on isolated servers or devices and prohibit cloud-based computing. Therefore, models such as LLMs implemented as rock physics assistants may need to be configured to run on edge devices (e.g., in the field / site), eliminating the need for internet connectivity or data transfer to remote systems (e.g., systems far from the site / site). However, the sheer size of models such as LLMs (which can include a very large number of parameters) poses a significant challenge to deploying such models on local systems (e.g., edge devices). For example, edge devices may not be equipped with the processing / computing power to run an LLM with a large number of parameters that has been adequately trained using rock physics and site data.

[0020] This paper describes systems, apparatuses, processes (also referred to as methods), and computer-readable media (collectively, “Systems and Technologies”) for realizing an AI / ML assistant that can be fully trained using rock physics and site data and can be implemented at the edge or at any other system / device. In some examples, the AI / ML assistant may include AI / ML models, such as LLMs, configured to guide domain-specific queries to domain-specific models, which can be implemented at the edge (e.g., at the same local device or another local device) and / or at any other system / device. In some aspects, the LLM of the AI / ML assistant can be trained on more general rock physics and site data / knowledge, and the domain-specific models can be trained and / or customized for specific rock physics and / or site data, topics, concepts, principles, regions, etc. Furthermore, the AI / ML assistant addresses and overcomes the aforementioned challenges by reducing its computational footprint / cost relative to other AI / ML models (such as other LLMs) when processing any given one or more queries.

[0021] In some examples, to address and overcome the aforementioned challenges, AI / ML assistants can implement architectures that include hierarchical systems comprising domain-specific LLMs, each with fewer parameters and computational footprint than LLMs trained across multiple rock physics domains. For instance, LLMs with more general rock physics knowledge and / or training can be configured to route domain-specific queries to these domain-specific LLMs, which are efficiently compressed to run on edge devices (and / or any other devices) with reduced computational footprint without sacrificing the depth and multi-adaptability of their knowledge and / or reasoning capabilities. This architecture enables such AI / ML assistants to run on edge devices for field use and to achieve real-time (or near-real-time) rock physics decision-making.

[0022] AI / ML assistants can be designed and trained in a manner that respects the aforementioned complexities and can adapt to tool-specific and / or domain-specific knowledge, thereby creating nuanced context-aware systems capable of providing valuable insights and enhancing the decision-making process in rock physics. In some examples, an AI / ML rock physics assistant may include an LLM configured as a control or management LLM with a significantly larger number of parameters than a domain-specific LLM controlled or managed for a specific answer query. In some cases, such a control or management LLM may be initially trained on a broad / general dataset and optionally refined and / or retrained on rock physics-specific data to increase its domain-specific knowledge and reasoning capabilities. Furthermore, smaller domain-specific LLMs can be created, configured, and / or customized for specific rock physics topics, regions, principles, scenarios, use cases, and / or any other specific aspects. In some examples, such smaller domain-specific LLMs may be trained on topic-specific data (e.g., lexical units) to create specialized models focused on and / or tailored to specific sites, regions, topics, principles, scenarios, and / or knowledge in rock physics. Non-limiting examples of such domain-specific LLMs may include LLMs trained and / or customized for topics, regions, knowledge, sites, scenarios, use cases, and / or principles related to nuclear tools, permeability, resistivity, continuity, lithology, water saturation, pressure, fluid contact, formation testing, acoustics, electromagnetics, and / or porosity.

[0023] The control or management LLM can be configured to act as an interface between rock physicists and specialized LLMs (e.g., smaller, domain-specific LLMs), intelligently and / or selectively invoking these specialized LLMs to aid in the convergence of solutions to rock physics queries. Utilizing smaller, specialized LLMs, these smaller LLMs can efficiently run on edge devices and be invoked individually by the control or management LLM as needed to accomplish the task. This ensures a comprehensive and detailed knowledge base is available for real-time rock physics analysis, while reducing the overall computational footprint of the system and complying with typically stringent requirements for site operation and data security.

[0024] In some examples, the controlling or managing LLM and / or any dedicated LLM has access to a site-specific knowledge base and any other rock physics knowledge. In some cases, the knowledge base can serve as an evolutionary repository of similar results and findings from other (e.g., similar) rock physics situations encountered in the field. By integrating information from the knowledge base, the controlling or managing LLM can further refine its proposed solutions for rock physics queries, thereby improving accuracy and reliability. The AI / ML assistant can leverage its inherent reasoning capabilities and accumulated domain-specific knowledge to provide comprehensive and highly tuned solutions. This two-pronged approach ensures the adaptability and robustness of the AI / ML assistant, enabling it to learn from past experiences while effectively addressing new challenges.

[0025] AI / ML rock physics assistants can optionally integrate multimodal generator models, such as image-to-text, video-to-text, speech-to-text, and / or any other multimodal models. Multimodal generator models allow the conversion of rock physics graphs, maps, well logging information, videos, images, charts, and / or other graphical information into textual data that can be processed by the control or management LLM. In this way, even complex visual data can be effectively utilized, ensuring that subtle features of the site-specific context are not lost or overlooked. Furthermore, this image-derived information can be used for fine-tuning the control or management LLM, as well as specialized training for smaller, dedicated LLMs. By enabling these models to learn and adapt from graphical data, as well as textual data and any other data, the AI / ML assistant's understanding of the field of rock physics is enhanced. Moreover, this multifaceted learning approach allows LLMs to handle the complex and diverse challenges of rock physics interpretation more efficiently and accurately.

[0026] Examples of the systems and technologies described in this article are in Figures 1A to 8 Examples are shown in the text and described below.

[0027] Figure 1A This is a schematic diagram of an example logging-while-drilling wellbore operating environment based on some examples of this disclosure. Figure 1A The drilling arrangement shown provides an example of a logging-while-drilling (LWD) configuration in wellbore drilling scenario 100. The LWD configuration can incorporate sensors (e.g., EM sensors, seismic sensors, gravity sensors, image sensors, etc.) that acquire formation data, such as formation characteristics and composition. For example, Figure 1A The drilling arrangement shown can be used to collect formation data via an electromagnetic imager tool (not shown) as part of logging using the electromagnetic imager tool. Figure 1AThe drilling layout also illustrates the so-called measurement while drilling (MWD), which uses sensors to acquire data from which the path and location of the wellbore in three-dimensional space can be determined. Figure 1A A drilling platform 102 equipped with a derrick 104 is shown, which supports a winch 106 for raising and lowering a drill string 108. The winch 106 suspends a top drive unit 110 adapted to rotate and lower the drill string 108 through a wellhead 112. A drill bit 114 can be attached to the lower end of the drill string 108. As the drill bit 114 rotates, it creates a wellbore 116 through various subsurface formations 118. A pump 120 circulates drilling fluid through a supply pipe 122 to the top drive unit 110, downwards through the interior of the drill string 108, and out through an orifice in the drill bit 114 into the wellbore. The drilling fluid returns to the surface via the annulus surrounding the drill string 108 and enters a retention pit 124. The drilling fluid transports cuttings from the wellbore 116 to the retention pit 124, and the presence of drilling fluid in the annulus helps maintain the integrity of the wellbore 116. Various materials can be used for the drilling fluid, including oil-based and water-based fluids.

[0028] Logging tool 126 may be integrated into bottomhole drill string assembly 125 near drill bit 114. As drill bit 114 penetrates formation 118 into wellbore 116 and as drill string 108 is pulled out of wellbore 116, logging tool 126 collects measurements related to various formation properties, tool orientation, and various other drilling conditions. Logging tool 126 may be a suitable tool for collecting measurements in a drilling scenario, such as the electromagnetic imager tool described herein. Each logging tool in logging tool 126 may include one or more tool components spaced apart from each other and communicatively coupled via one or more electrical wires and / or other communication arrangements. Logging tool 126 may also include one or more computing devices communicatively coupled to one or more tool components. The one or more computing devices may be configured to control or monitor tool performance, process logging data, and / or perform one or more aspects of the methods and processes of this disclosure.

[0029] The bottomhole drill string assembly 125 may also include a telemetry sub 128 for transmitting measurement data to and receiving commands from the surface receiver 132. In at least some cases, the telemetry sub 128 communicates with the surface receiver 132 via wireless signal transmission (e.g., using mud pulse telemetry, EM telemetry, or acoustic telemetry). In other cases, one or more logging tools in the logging tools 126 may communicate with the surface receiver 132 via wires, such as wired drill pipe. In some cases, the telemetry sub 128 does not communicate with the surface but stores logging data for later retrieval at the surface when the logging assembly is restored. In at least some cases, one or more logging tools in the logging tools 126 may receive power from wires extending to the surface (including wires extending through wired drill pipe). In other cases, power is provided from one or more batteries or via power generated downhole.

[0030] Drill collars 134 are common components of drill string 108 and typically resemble very thick-walled cylindrical tubes, usually having threaded ends and a hollow core for conveying drilling fluid. Multiple drill collars 134 may be included in drill string 108 and are constructed and intended to be heavy to apply weight to drill bit 114 to assist the drilling process. Due to the thickness of the drill collar walls, pocket-shaped cuts or other types of grooves may be provided in the drill collar walls without negatively impacting the integrity (strength, stiffness, etc.) of the drill collar as a component of drill string 108.

[0031] Figure 1B This is a schematic diagram of an example downhole environment with tubing, according to some examples of this disclosure. In this example, an example system 140 is depicted for performing downhole measurements after at least a portion of the wellbore has been drilled and the drill string has been removed from the well. (The last sentence appears to be incomplete and possibly refers to a different topic.) Figure 1B In the example system 140 shown, an electromagnetic imager tool (not shown) is operated to log the wellbore. The downhole tool is shown as having a tool body 146 for performing logging and / or other operations. For example, instead of using... Figure 1A The drill string 108 is used to lower the downhole tool (which may include sensors and / or other instruments for detecting and recording nearby characteristics and conditions of the wellbore 116 and surrounding formations), using a cable delivery device 144. The tool body 146 can be lowered into the wellbore 116 via the cable delivery device 144. The cable delivery device 144 can be anchored in the drilling rig 142 or via a portable device such as a truck 145. The cable delivery device 144 may include one or more wires, wire ropes, cables and / or the like, as well as tubular delivery devices such as coiled tubing, coupling tubing or other tubular components. The downhole tool may include suitable tools for collecting measurements in the drilling scenario, such as the electromagnetic imager tool described herein.

[0032] The illustrated cable delivery device 144 provides power and support to the tool, and enables communication between data processors 148A to N on the surface. In some examples, the cable delivery device 144 may include electrical and / or fiber optic cables for performing communication. The cable delivery device 144 is robust and flexible enough to tether the tool body 146 through the wellbore 116, while also allowing communication via the cable delivery device 144 with one or more of the processors 148A to N, which may include local and / or remote processors. The processors 148A to N may be integrated as part of a suitable computing system such as the computing device architecture described herein. Furthermore, power can be supplied via the cable delivery device 144 to meet the tool's power requirements. For wireline or coiled tubing configurations, power can be supplied downhole using batteries or via a downhole generator.

[0033] Figure 2 This is a diagram illustrating an example architecture of an example rock physics assistant 200 according to some examples of this disclosure. The rock physics assistant 200 can be used by any user, such as a rock physicist, to obtain information, such as answers to questions related to various rock physics issues, problems, properties, conditions, regions, topics, scenarios, sites, measurements, contexts, and / or any other aspects. The rock physics assistant 200 can be configured to provide general and / or specific rock physics and site information / knowledge. The rock physics assistant 200 can have high overall capabilities and reduced computational footprint, which allows it to run on devices with fewer resources / capabilities than servers or data centers, such as edge and client devices.

[0034] The Rock Physics Assistant 200 may include a control LLM 202 and multiple domain-specific LLMs 210. The domain-specific LLMs 210 may include LLMs specialized (e.g., custom-designed, specially trained, tuned, etc.) for a specific rock physics domain, topic, setting, scenario, condition, use case, principle, subject, context, and / or any other aspect. For example, in Figure 2In the example shown, the domain-specific LLM 210 may include a resistivity model 212 trained and customized to (e.g., dedicated to, tuned to, etc.) provide and / or include resistivity knowledge and / or reasoning capabilities, a nuclear magnetic resonance (NMR) model 214 trained and customized to provide and / or include NMR knowledge and / or reasoning capabilities, a porosity model 216 trained and customized to provide and / or include porosity knowledge and / or reasoning capabilities, a continuity model 218 trained and customized to provide and / or include continuity knowledge and / or reasoning capabilities, a fluid contact model 220 trained and customized to provide and / or include fluid contact knowledge and / or reasoning capabilities, a permeability model 222 trained and customized to provide and / or include permeability knowledge and / or reasoning capabilities, and a formation testing model 224 trained and customized to provide and / or include formation testing knowledge and / or reasoning capabilities. Figure 2 The domain-specific LLM 210 in this example is merely an illustrative example provided for illustrative purposes. In other examples, the domain-specific LLM 210 may include... Figure 2 Other models not shown and / or related to Figure 2 The models shown have different quantities.

[0035] Each domain-specific LLM 210 can be trained using one or more knowledge sources related to the corresponding rock physics field (e.g., topic, region, site, subject, use case, scenario, condition, principle, context, concept, etc.), such as one or more journal articles, scientific papers, site reports, question-and-answer pairs, rock physics and / or well logging information, tool-specific data, site-specific data, training sessions / materials, tutorials, books, manuals, tool data, collected and processed data, visual data (e.g., graphs, charts, maps, images, videos, well logging information, etc.), publications, textbooks, internal knowledge materials, historical data, statistics, database knowledge, notes, research data, messages and / or observations from rock physicists and / or other users (such as other scientists), drilling reports and / or any other rock physics data and / or knowledge materials. In this way, each domain-specific LLM 210 can develop expertise in the corresponding rock physics field, which allows each domain-specific LLM 210 to answer queries related to its corresponding rock physics field / expertise.

[0036] Controlling LLM 202 may include LLMs configured to direct domain-specific queries to specific LLMs within domain-specific LLM 210. This allows the rock physics assistant 200 to reduce its computational footprint when processing / answering any given query without reducing the total amount of rock physics and domain knowledge and reasoning capabilities. For example, a given rock physics query may be optimally solved by one or more domain-specific LLMs 210, in which case directing the rock physics query to all domain-specific LLMs 210, directing the rock physics query to a subset of domain-specific LLMs 210 that may not be well-suited to answering the rock physics query, or using a single LLM with the overall size and capabilities of all domain-specific LLMs 210 to answer any given rock physics query may be unnecessary and / or wasteful (e.g., in terms of resources). Therefore, instead of directing a given query to all domain-specific LLMs 210 or a single LLM that includes the overall parameters, knowledge, size, and / or reasoning ability of all domain-specific LLMs 210, the control LLM 202 can intelligently determine which(s) of the domain-specific LLMs 210 might be best suited to answer a given query and selectively direct the given query to such an LLM for processing / answering.

[0037] In the example above, because each individual LLM in the domain-specific LLM 210 is smaller (e.g., in terms of parameters, overall size, etc.) and has a smaller computational footprint than all the domain-specific LLMs 210 or a single LLM with the parameters, size, knowledge, and / or capabilities of all the domain-specific LLMs 210, the control LLM 202 reduces the amount of resources (e.g., computational footprint, etc.) that the rock physics assistant 200 uses to process / answer any given query by intelligently directing queries to a specific LLM in the domain-specific LLM 210 (e.g., instead of directing every query to all the domain-specific LLMs 210 or an LLM with the size, parameters, knowledge, and / or capabilities of all the domain-specific LLMs 210). This, in turn, allows the rock physics assistant 200 to run on devices with fewer resources and / or capabilities, such as client / edge devices, tools, etc. Thus, the rock physics assistant 200 can be implemented on any device and used by any user (e.g., a rock physicist) in any location or environment, including locations or environments where internet and / or remote data access is unavailable or not permitted.

[0038] Controlled LLM 202 can be trained on more general rock physics and site data / knowledge than domain-specific LLM 210 to gain a more general and / or broader understanding of rock physics. For example, in some cases, one or more sources of rock physics and / or site knowledge can be used to train Controlled LLM 202, such as, for example, one or more journal articles, scientific papers, site reports, question-and-answer pairs, rock physics and / or well logging information, tool-specific data, site-specific data, training sessions / materials, tutorials, books, manuals, tool data, collected and processed data, visual data (e.g., graphs, charts, maps, images, videos, well logging information, etc.), publications, textbooks, internal knowledge materials, historical data, statistics, database knowledge, notes, research data, messages and / or observations from rock physicists and / or other users (such as other scientists), drilling reports and / or any other rock physics data and / or knowledge materials. In some cases, the control LLM 202 can be initially trained on a broad / general dataset and optionally refined and / or retrained on rock physics-specific data to increase its domain-specific knowledge and reasoning capabilities.

[0039] For example, in some cases, one or more knowledge / data sources can be used to train the control LLM 202 to generally understand each domain of the domain-specific LLM 210, what questions are relevant to each domain, what questions can be answered by each domain-specific LLM 210 (or can be best answered by each domain-specific LLM), any patterns suitable for questions that any domain-specific LLM 210 can answer, any information that may involve the domain (and / or the associated questions) associated with the domain-specific LLM 210 (e.g., issues, attributes, conditions, principles, parameters, challenges, topics, concepts, etc.), which models in the domain-specific LLM 210 best understand the questions and / or provide the most accurate and / or relevant responses to the questions, and / or otherwise intelligently select which(s) of the domain-specific LLM 210 to direct any given query. To illustrate, the control LLM 202 can be trained to understand that specific questions related to the porosity of a particular formation can be best answered by, for example, resistivity model 212, NMR model 214, porosity model 216, and formation test model 224. The control LLM 202 can then select resistivity model 212, NMR model 214, porosity model 216, and formation test model 224 to answer such queries and direct queries to these models.

[0040] As an example and by analogy, the Control LLM 202 can be analogous to a primary care physician with general medical expertise, and the Domain-Specific LLM 210 can be analogous to a specialist physician with expertise in one or more specific medical fields. In this analogy, the primary care physician examines a patient for a specific condition and determines which specialist(s) might be best suited to assist with that condition. The primary care physician can then refer the patient to a specialist (and / or consult with a specialist on the patient and the specific condition). Similarly, when the Control LLM 202 receives a rock physics query, it determines which model(s) in the Domain-Specific LLM 210 are best suited to answer the rock physics query and directs the query to such a model. The Control LLM 202 can then provide a response to the query using any responses from such models, as further described herein.

[0041] In some examples, the control LLM 202 may include an LLM interface 204 and a multimodal model 206. The LLM interface 204 may include any software, interface, and / or component configured to act as an interface between a user (e.g., a rock physicist, technician, engineer, etc.) and a domain-specific LLM 210. For example, a user may access a rock physics assistant 200 via the LLM interface 204 and use the LLM interface 204 to submit one or more rock physics queries and receive one or more responses from the rock physics assistant 200. The LLM interface 204 may communicate with either domain-specific LLM 210 to provide queries to or receive responses from either domain-specific LLM 210. For example, the LLM interface 204 may receive a given query from a user. The control LLM 202 may intelligently determine which LLM(s) in the domain-specific LLM 210 is capable of answering the query (and / or is best suited to answer the query). The LLM interface 204 can then selectively invoke the determined LLM(s) in the domain-specific LLM 210 to obtain the appropriate response to the query. LLM interface 204 can obtain a corresponding response to the query from each LLM in the query. LLM interface 204 can then provide the response to the user (e.g., display / presentation, rendering, etc.).

[0042] In some cases, the control LLM 202 may edit the information obtained from each query's LLM before providing a response to the user. For example, the control LLM 202 may merge, aggregate, refine, rewrite / summarize, supplement, enhance, organize, structure, utilize, and / or otherwise modify any information obtained from each query's LLM to generate a response for the user, which can be provided to the user through LLM interface 204. For example, if the control LLM 202 receives one or more query responses from one or more domain-specific LLMs in domain-specific LLMs 210, the control LLM 202 may use those one or more query responses to generate a response to the query. In this example, the control LLM 202 may combine the one or more query responses or portions thereof to generate a meaningful response, and may optionally use its broader, more general knowledge of rock physics to create a response based on the one or more query responses, make any changes to the response, add any relevant details, refine the dialogue including the response to the user, and / or otherwise edit or formulate the response to the user.

[0043] To illustrate, if the query includes a question about porosity associated with a specific formation, the control LLM 202 can determine that resistivity model 212, NMR model 214, porosity model 216, and formation test model 224 are best suited to answer the query, and select such a model to answer the query. The LLM interface 204 can provide the query to resistivity model 212, NMR model 214, porosity model 216, and formation test model 224, and receive a corresponding response from each model. The control LLM 202 can use the responses from resistivity model 212, NMR model 214, porosity model 216, and formation test model 224 to formulate a response for the user. For example, the control LLM 202 can use its petrophysical knowledge and capabilities to intelligently / meaningfully, organizedly, and / or structurally integrate responses (or portions thereof) from resistivity model 212, NMR model 214, porosity model 216, and formation test model 224. In some cases, the control LLM 202 may use its rock physics knowledge and capabilities to refine or reformulate the responses generated based on the responses from the resistivity model 212, NMR model 214, porosity model 216 and formation test model 224, and / or add any relevant information determined by the control LLM 202 based on its knowledge and capabilities.

[0044] In some examples, when responding to one or more user queries, the control LLM 202 may generate a dialogue that can include any query response, request additional information from the user, refine the dialogue between the user and the rock physics assistant 200, and / or convey and / or request any other relevant information. For example, if the control LLM 202 determines that a query from a user is too broad or vague to provide a meaningful response, the control LLM 202 may request additional information from the user to refine the query and generate a more meaningful response. As another example, if the control LLM 202 determines that a query response from a model of a domain-specific LLM 210 is too general (e.g., lacking specificity and / or relevance at threshold levels) and / or too long, the control LLM 202 may attempt to reduce or refine the query response or request additional information from the user to refine the query and use the refined query to provide a more specific and / or shorter response. In some cases, the control LLM 202 may include one or more parameters that limit any constraints that the control LLM 202 may use to determine whether the query and / or query response should be refined. For example, if the query is too broad, the query response obtained by controlling LLM 202 may be too general and / or too long. To determine if a query is too broad and / or the query response is too general and / or too long, controlling LLM 202 may include parameters such as limiting response size, query size, minimum query size, response specificity, query specificity, and / or any other parameters that controlling LLM 202 may use to determine whether the query and / or query response needs to be expanded, reduced, and / or refined.

[0045] As previously noted, the control LLM 202 may include a multimodal model 206, such as an image-to-text generator model, a video-to-text generator model, a speech-to-text generator model, and / or any other multimodal generator model. The multimodal model 206 allows the rock physics assistant 200 to transform input data from one modality to another and / or output data from one modality to another. For example, the multimodal model 206 may transform user-provided image data (e.g., images, videos, etc.) into text data that the rock physics assistant 200 can use to understand queries and / or formulate responses. For illustration, as part of a query (and / or as part of the information provided with the query), a user may (e.g., via LLM interface 204) provide image data to the rock physics assistant 200, such as one or more rock physics plots, maps, well logging information, charts, and / or other graphical information. The multimodal model 206 may transform such image data into text data and provide the text data to the control LLM 202. Controlling LLM 202 allows the use of textual data to understand queries, formulate / reform queries, and / or provide query responses. In this way, even complex visual data can be effectively utilized, ensuring that subtle features of the site-specific context are not lost or overlooked.

[0046] As another example, a user may (e.g., via LLM interface 204) provide visual rock physics logging information to rock physics assistant 200, along with questions about a portion of the visual rock physics logging information. Multimodal model 206 may scan the visual rock physics logging information and convert the visual rock physics logging information (or relevant portions thereof) into text (e.g., via image-to-text conversion), thereby providing information about the visual rock physics logging information (or relevant portions thereof) (e.g., description, translation, overview, details, etc.), such as descriptors of the visual rock physics logging information (or relevant portions thereof). The multimodal model 206 can provide text generated from image data to the control LLM 202, which can be used to include, formulate, supplement information in the query, provide additional context for the query, help determine which(s) of the domain-specific LLM 210 to direct the query to, and / or provide query-related information that the models selected in the domain-specific LLM 210 to answer the query can use to understand the query and / or provide the query response.

[0047] As yet another example, multimodal model 206 can transform audio (such as speech or acoustic data) received along with an input query into text that describes the audio and / or provides information about the audio. Multimodal model 206 can then provide the text generated from the audio to control LLM 202, which can use the generated text and any other information in the query to understand the query, formulate / reform the query, supplement the query, provide additional context, help determine which(s) of the domain-specific LLM 210 to direct the query to, and / or provide query-related information that the selected model from the domain-specific LLM 210 can use to answer the query.

[0048] The multimodal model 206 can be trained using rock physics data of a specific format / type, such as the input modality. For example, to train the multimodal model 206 to convert visual rock physics data (e.g., images and / or videos such as visual well logging information, charts, maps, etc.) into text describing such visual rock physics data, a dataset of visual rock physics data can be used to train the multimodal model 206. In some cases, the training dataset (e.g., a dataset of visual rock physics data) may include domain-specific rock physics data, general rock physics data, site data, and / or any other rock physics data and / or site data.

[0049] In some respects, textual information derived by the multimodal model 206 from other types of data (e.g., image data, audio data, etc.) can be used to fine-tune the control of LLM 202 and / or the domain-specific LLM 210. By enabling the model to learn and adapt from different types / modal data, the rock physics assistant 200's understanding of the field of rock physics can be enhanced.

[0050] In some examples, the control LLM 202, LLM interface 204, and / or multimodal model 206 may be parts of the same model. For example, the control LLM 202, LLM interface 204, and / or multimodal model 206 may be implemented by the same model. As another example, the control LLM 202 may include a core model, and the LLM interface 204 and / or multimodal model 206 may include one or more model heads or branches. In other examples, the control LLM 202, LLM interface 204, and / or multimodal model 206 may be parts of different models. For example, the control LLM 202 may be a different model from the model that implements the LLM interface 204 and / or multimodal model 206.

[0051] In some examples, a knowledge base 230, controlling the accessibility of information from LLM 202 and / or any domain-specific LLM 210, is used to understand queries and / or formulate query responses. For instance, when a model in a domain-specific LLM 210 receives a query, the model may perform a semantic search of relevant data in the knowledge base 230 to identify the best and / or more relevant information in the knowledge base 230 for formulating a response to the query. Similarly, controlling the accessibility of the knowledge base 230 to LLM 202 to understand queries and / or obtain information, the controllable LLM 202 may use this information with any query response from any domain-specific LLM 210 to formulate / reform a query response for the user and / or supplement, modify, and / or merge one or more query responses from one or more domain-specific LLMs 210. In some cases, the meaning of the content in knowledge base 230 (e.g., sentences, words, etc.) can be encoded into encoded or structured data (e.g., vectors encoding the meaning of content such as sentences), which can be used to find information during semantic search of knowledge base 230.

[0052] For example, when a model (e.g., controlling LLM 202 and / or either domain-specific LLM 210) receives a query, the model may encode the query into an encoded query (e.g., vectors and / or structured data encoding the meaning of the query and / or the query itself) and use it to search the encoded data in knowledge base 230 to find semantic search results. In some cases, the model may encode the query into a vector encoding the semantic meaning of the query and use the encoded vector to identify one or more encoded vectors in knowledge base 230 that best match the encoded query in terms of the semantic meaning of content (such as sentences) in knowledge base 230. The one or more encoded vectors that best match the encoded query may include (e.g., but not limited to) the encoded vectors in knowledge base 230 that are determined to be the best / highest match of the encoded query, the top n best / highest match encoded vectors in knowledge base 230, the encoded vectors in knowledge base 230 that match the encoded query with at least a threshold, or any other number of encoded vectors.

[0053] In some cases, the model (e.g., controlling LLM 202 and / or any domain-specific LLM 210) can use knowledge base 230 for lookup and use the model’s learning capabilities (e.g., learned knowledge, learned reasoning ability, learned semantic understanding ability, learned pattern identification ability, etc.) to digest, analyze, understand, interpret, verify, organize, filter, sort and / or identify relevant information in knowledge base 230.

[0054] Knowledge base 230 may include any rock physics information, such as, but not limited to, domain-specific knowledge, tool-specific knowledge, context-specific knowledge, general and / or domain-specific rock physics knowledge, and / or any other rock physics information. In some examples, knowledge base 230 may include information repositories (e.g., databases, data stores, libraries, datasets, document sets, etc.), such as, but not limited to, one or more journal articles, scientific papers, site reports, question-and-answer pairs, rock physics and / or well logging information, tool-specific data, site-specific data, training courses / materials, tutorials, books, manuals, tool data, collected and processed data, drilling reports, visual data (e.g., graphs, charts, maps, images, videos, well logging information, etc.), publications, textbooks, internal knowledge materials, historical data, statistical data, database knowledge, notes, records, research data, user messages and / or observations, and / or any other rock physics data and / or knowledge materials.

[0055] In some cases, knowledge base 230 may include similar results and / or findings from one or more (e.g., similar, different, related, etc.) rock physics situations, problems, contexts, conditions, and / or events encountered at the site. Using information from knowledge base 230, control LLM 202 can refine its response to rock physics queries, thereby improving accuracy and reliability. Knowledge base 230 may also be updated as needed to include or remove certain information. For example, knowledge base 230 may be updated as needed or desired using additional materials, site results, findings, information, and / or relevant information.

[0056] As described above, the rock physics assistant 200 may possess and / or provide general knowledge, rock physics-specific knowledge, tool-specific knowledge, site-specific knowledge, and / or any other relevant knowledge. Furthermore, the rock physics assistant 200 may include natural language processing capabilities, multimodal processing capabilities (e.g., visual data processing capabilities, audio data processing capabilities, etc.), reasoning capabilities, learning capabilities, response / data compilation and / or formulation capabilities (e.g., the ability to compile knowledge responses, etc.), and / or any other capabilities. The rock physics assistant 200 may provide feedback on the operational status, answer specific questions, provide consultation and / or advice to users, make decisions, identify problems, provide information to help one or more users manage the wellbore environment and / or wellbore operations, and / or provide users with any other assistance related to rock physics, wellbore / site, associated tools, and / or any other knowledge.

[0057] For example, users (such as scientists or engineers working at a well site) can use the Rock Physics Assistant 200 as an AI tool to obtain feedback on tasks or operations, ask questions about the well site (e.g., associated conditions, formation properties, events, rock physics matters, rock physics measurements, findings / results, analyses, etc.), ask questions about well site operations or tasks, ask questions about context (e.g., site context, tool context, use cases, situations, etc.), make decisions, identify problems, obtain relevant information, seek advice, receive suggestions, etc. To illustrate, if a user has questions about rock physics measurements, findings, conditions, etc., the user can submit the questions to the Rock Physics Assistant 200. The control LLM 202 of the Rock Physics Assistant 200 can determine to direct the question to a subset of domain-specific LLMs in the domain-specific LLM 210 and send calls, commands, instructions, and / or messages to the determined subset of domain-specific LLMs, which trigger the subset of domain-specific LLMs to run / execute to generate one or more appropriate responses to the question. A domain-specific subset of the LLM can then provide one or more corresponding responses to the control LLM 202, which can use these responses to formulate a response to the user's query. The control LLM 202 can then provide the formulated response to the user via the LLM interface 204. The control LLM 202 can generate dialogues for the user to provide the formulated response, ask follow-up questions, request additional information, receive additional or follow-up questions from the user, provide further assistance to the user, etc., as further described herein.

[0058] Rock Physics Assistant 200 can run on any computing device, such as a server, a computing-capable tool, a client device, and / or any other computing and / or edge device. For example, Rock Physics Assistant 200 can be compressed to run on an edge device with fewer computing resources (e.g., more computing resource constraints) than a high-end device such as a server. Furthermore, data generated and / or compiled by humans and / or generated and / or compiled by models can be used to train control LLM 202 and / or either domain-specific LLM 210.

[0059] For example, in some cases, question-answer pairs generated and / or compiled by humans and / or models can be used to train control LLM 202 and / or either domain-specific LLM 210. In some examples, LLMs can be used to generate question-answer pairs that can be used to train control LLM202 and / or either domain-specific LLM 210 (e.g., with or without any question-answer pairs generated / compiled by humans).

[0060] Figure 3This is a diagram illustrating an example system 300 for generating training data for training control LLM 202 and / or any domain-specific LLM 210, according to some examples of this disclosure. In this example, LLM 304 can be used to generate training data 306 for training control LLM 202 and / or any domain-specific LLM 210. LLM 304 can generate training data 306 based on input data 302 including relevant knowledge / information.

[0061] In some cases, input data 302 may include, for example, but not limited to, one or more journal articles, scientific papers, site reports, question-and-answer pairs, rock physics and / or well logging information, tool-specific data, site-specific data, training courses / materials, tutorials, books, manuals, tool data, collected and processed data, drilling reports, publications, textbooks, internal knowledge materials, historical data, statistical data, database knowledge, notes, records, research data, user messages and / or observations, and / or any other rock physics data and / or knowledge materials. Furthermore, training data 306 may include any relevant structured knowledge / information. For example, in some cases, training data 306 may include question-and-answer pairs generated from input data 302.

[0062] In some examples, the data used to generate input data 302 may be categorized into associated subject areas, topics, scenarios, use cases, and / or any other categories. For example, to generate input data 302, a set of rock physics data (e.g., papers, books, manuals, documents, etc.) and / or portions thereof may be categorized (e.g., via LLM 304 or another model) into subject areas. Each item may be categorized into one or more related subject areas. For example, a rock physics paper may be categorized into a single subject area, or, in some cases where a rock physics paper involves multiple subject areas, into multiple subject areas. Input data 302 may therefore include data categorized into individual buckets of subject areas. LLM 304 may process such input data 302 to generate training data 306. For example, LLM 304 may process the data in each bucket to generate question-answer pairs related to that bucket (e.g., related to the subject area associated with that bucket). In this example, the question-answer pairs in training data 306 can then be used to train control LLM 202 and / or either domain-specific LLM 210. For example, question-answer pairs from classification buckets related to a specific domain can be used to train a domain-specific LLM associated with that specific domain (and in some cases, a control LLM 202). To illustrate, question-answer pairs from classification buckets related to resistivity can be used to train a resistivity model 212, while question-answer pairs from classification buckets related to NMR can be used to train an NMR model 214.

[0063] In some cases, general and / or domain-specific question-answer pairs from training data 306 can be used to train control LLM 202. For example, question-answer pairs from classification buckets related to general rock physics knowledge can be used to train control LLM 202. In some cases, question-answer pairs from one or more classification buckets related to one or more subject areas can be additionally or alternatively used to train control LLM 202.

[0064] Figure 4 This is an illustration of an example of the use of a rock physics assistant 200 according to some examples of this disclosure. As shown, a user 402 (e.g., a rock physicist, engineer, technician, agent, etc.) can access the rock physics assistant 200 from a computing device 404. The computing device 404 may include any computing device capable of running models, such as, but not limited to, a server, an edge device (e.g., a laptop computer, a desktop computer, a tablet computer, a computing-capable tool, etc.), or any other computing device.

[0065] User 402 may submit query 406 to rock physics assistant 200 using computing device 404, and rock physics assistant 200 may use the query to generate response 408 for user 402. In some cases, when generating response 408, rock physics assistant 200 may perform one or more searches in knowledge base 230, as previously described. Furthermore, in some examples, rock physics assistant 200 may generate a dialogue with user 402. For example, rock physics assistant 200 may receive query 406, provide response 408, receive follow-up queries (and / or requests for additional information), provide follow-up responses, etc.

[0066] To illustrate, suppose query 406 could include the question, “Why is neutron porosity different from NMR porosity?” The rock physics assistant 200 could receive query 406 and generate a response 408, such as, “Neutron porosity is affected by lithology and specific fluid properties. NMR porosity is affected by lithology, bedding, and logging rate. I have found that for conductive fluids with low gamma rays, i.e., brine in siliceous clastic formations, neutron porosity is more significant than NMR porosity. This means that logging rate might be a problem with NMR porosity. Perhaps we could try slowing down the NMR logging rate.” The rock physics assistant 200 could provide this response 408 to user 402. In some cases, user 402 might want to submit a follow-up query, such as, “Okay, a slower relogging rate matches better, but the site permeability looks high. What are your thoughts?” The rock physics assistant 200 could similarly generate a response to the follow-up query and thus participate in the dialogue with user 402 via computing device 404.

[0067] Figure 5An example of a neural network 510 according to some examples of this disclosure is illustrated. The neural network 510 can be used to implement any of the models described herein, such as a controllable LLM 202, a multimodal model 206, any domain-specific LLM 210, an LLM 304, etc. As shown in this example, the neural network 510 includes an input layer 502 for processing input data. The neural network 510 also includes hidden layers 504A to 504N (collectively referred to below as “504”). The hidden layers 504 may include n hidden layers, where n is an integer greater than or equal to one. The number of hidden layers may include as many layers as are required for the desired processing result and / or rendering intent. The neural network 510 includes an output layer 506 that provides the output produced by the processing performed by the hidden layers 504.

[0068] The neural network 510 in this example is a multi-layered neural network with interconnected nodes. Each node can represent a piece of information. The information associated with a node is shared between different layers, and each layer retains information while processing it. In some cases, neural network 510 may include a feedforward neural network, in which there are no feedback connections where the output of the neural network is fed back into itself. In other cases, neural network 510 may include a recurrent neural network, which may have loops that allow information to be carried across nodes when reading input.

[0069] Information can be exchanged between nodes via node-to-node interconnects between layers. Nodes in input layer 502 can activate a set of nodes in the first hidden layer 504A. For example, as shown, each input node in input layer 502 is connected to each node in the first hidden layer 504A. Nodes in hidden layer 504A can transform information by applying an activation function to the information of each input node. The information derived from this transformation can then be passed to nodes in the next hidden layer (e.g., 504B) and activated, allowing these nodes to perform their own specified functions. Example functions include convolution, upsampling, data transformation, pooling, and / or any other suitable function. The output of the hidden layer (e.g., 504B) can then activate nodes in the next hidden layer (e.g., 504N), and so on. The output of the last hidden layer can activate one or more nodes in output layer 506, providing the output at that point. In some cases, although nodes in neural network 510 (e.g., nodes 508A, 508B, 508C) are shown as having multiple output lines, the nodes have a single output and are shown as all lines output from a single node representing the same output value.

[0070] In some cases, each node or the interconnections between nodes may have weights derived from a set of parameters trained on the neural network 510. For example, an interconnection between nodes may represent a piece of information learned about the interconnected nodes. The interconnections may have numerical weights that can be tuned (e.g., based on the training dataset), allowing the neural network 510 to adapt to the input and learn as it processes more data.

[0071] The neural network 510 can be pre-trained to process features from the data in the input layer 502 using different hidden layers 504, so as to provide output through the output layer 506. In an example where the neural network 510 is used to output a text answer, the neural network 510 can be trained using training data that includes example question-answer pairs.

[0072] In some cases, the neural network 510 can use a training process called backpropagation to adjust the weights of its nodes. Backpropagation may include forward pass, loss function, backward pass, and weight update. For each training iteration, forward pass, loss function, backward pass, and parameter update are performed. For each set of training media data, this process can be repeated up to a certain number of iterations until the layer weights are accurately tuned.

[0073] For example, forward propagation may include passing training data through neural network 510. The weights may be initially randomized before neural network 510 is trained. For the first training iteration of neural network 510, since the weights are randomly chosen during initialization, the output may include values ​​unbiased towards any particular class. For example, if the output is a vector of probabilities of different outputs, the probability values ​​of each different output may be equal or at least very similar (e.g., for ten possible outputs, each output may have a probability value of 0.1). With the initial weights, neural network 510 may fail to determine low-level features and therefore may not make accurate determinations. A loss function can be used to analyze the error in the output. Any suitable loss function can be defined.

[0074] For the first training dataset (e.g., images), the loss (or error) may be high because the actual values ​​will differ from the predicted output. The goal of training is to minimize the amount of loss so that the predicted output matches the target or ideal output. The neural network 510 can perform backpropagation by determining which inputs (weights) contribute most to the loss of the neural network 510, and the weights can be adjusted to reduce and eventually minimize the loss.

[0075] The derivative of the loss with respect to the weights can be calculated to determine the weights that contribute the most to the loss of the neural network 510. After calculating the derivative, weight updates can be performed by updating the weights of the filter. For example, the weights can be updated so that they change in the opposite direction of the gradient. The learning rate can be set to any suitable value, where a high learning rate includes larger weight updates, and a lower value indicates smaller weight updates.

[0076] Neural Network 510 can include any suitable neural network or deep learning network. One example includes a Convolutional Neural Network (CNN), which includes an input layer and an output layer with multiple hidden layers between them. The hidden layers of a CNN can include a series of convolutional layers, non-linear layers, pooling layers (for downsampling), and fully connected layers. In other examples, Neural Network 510 can represent any other neural or deep learning network, such as a transformer network, an autoencoder, a deep belief network (DBN), a recurrent neural network (RNN), an LLM, etc.

[0077] Figure 6 This is a diagram illustrating an example model architecture 600 that can be used to implement LLMs (such as Control LLM 202, Domain-Specific LLM 210, LLM 304, etc.). In this example, model architecture 600 represents a transformer network architecture that can be used to implement an LLM. As shown, model architecture 600 may include input embeddings 602 that serve as inputs to the model. Input embeddings 602 input values ​​representing words and / or sentences, such as numbers or vectors representing words and / or sentences.

[0078] Input embeddings 602 can function like a dictionary, helping the model understand the meaning of words by placing them in an embedding space where similar words are close to each other. In some examples, the model can learn to create input embeddings 602 during training, such that similar vectors represent words with similar meanings.

[0079] The model can use positional encoding 604 to encode the position of each word in the input sequence from the input embedding 602 into a value such as a set of numbers, a vector, etc. The value generated by positional encoding 604 can be fed into the model along with the input embedding 602. By incorporating positional encoding 604 into the model architecture 600, the model can more effectively understand the order of words in a sentence and generate grammatically correct and semantically meaningful output.

[0080] Model architecture 600 may include an encoder 606 for processing positionally encoded input embeddings 602 and generating embeddings 608. Encoder 606 may be part of a model that processes input text and generates hidden states that capture the meaning and context of the text. For example, encoder 606 may include a feedforward neural network as part of a transformer model. In some examples, encoder 606 may implement multiple encoder layers. In some cases, encoder 606 may first tokenize the input text into a sequence of tokens, such as individual words or subwords. Encoder 606 may then apply one or more self-attention layers that generate hidden states representing different levels of abstraction in the input text. In this way, encoder 606 may generate embeddings 608 (e.g., vectors, a set of values, etc.) representing the semantics and position of words in one or more sentences.

[0081] Model architecture 600 may include output embedding 612, which may include values ​​representing words and / or sentences, such as numbers or vectors representing words and / or sentences. Output embedding 612 may be similar to input embedding 602 and may also be processed by positional encoding 614 to encode the position of each word in the sequence from output embedding 612 as a set of values ​​such as numbers, vectors, etc., which helps the model understand the order of words in a sentence. Output embedding 612 can be used during the training phase of the model, but can also be used during the inference phase. During training, a loss function can be computed based on output embedding 612 and used to update model parameters to improve model accuracy. During the inference phase, output embedding 612 can be used to generate output text by mapping the model's predicted probability for each token to the corresponding token in the vocabulary.

[0082] The position-encoded input embedding 602 (e.g., embedding 608) and the position-encoded output embedding 612 can be fed into a decoder 610, which generates an output sequence based on the encoded input sequence. During training, the decoder 610 can learn how to guess the next word in the sequence by looking at the words preceding the current word. In some examples, the decoder 610 can generate natural language text based on the input sequence and any learned context.

[0083] Decoder 610 generates embedding 616 and feeds it to one or more network layers 618. In some examples, the one or more network layers 618 may include linear layers and a softmax function. The linear layers may map the embedding 616 generated by decoder 610 to a higher-dimensional space, which transforms the embedding 616 back to the original input space. The softmax function can then be applied to generate a probability distribution for each output token in the vocabulary, which produces output 620. In some examples, output 620 may include output tokens with probabilities.

[0084] Figure 7 This is a flowchart illustrating example process 700 for implementing a rock physics assistant (e.g., rock physics assistant 200) according to some examples of this disclosure.

[0085] At box 702, process 700 may include receiving queries relating to one or more subject areas by a control language model (e.g., control LLM 202) configured to perform natural language processing. In some examples, the one or more subject areas may include one or more rock physics subject areas, such as, but not limited to, resistivity, NMR, porosity, continuity, fluid contact, permeability, formation lithology, density, saturation (e.g., water / fluid saturation, hydrocarbon saturation, etc.), pressure, magnetic and / or electromagnetic (EM) and / or formation testing, etc. In other examples, the one or more subject areas may include any other subject area in rock physics and / or any other field.

[0086] At box 704, process 700 may include selecting one or more domain-specific language models from among multiple domain-specific language models to answer the query, based on one or more subject areas associated with the query and the corresponding domain-specific knowledge of each of the multiple domain-specific language models (e.g., domain-specific LLM 210). In some examples, selecting one or more domain-specific language models to answer the query may include: determining, by a control language model, which subset of the multiple domain-specific language models can or should answer the query related to one or more subject areas, possesses expertise / knowledge in one or more subject areas, is trained to answer the query in one or more subject areas, is trained using information related to one or more subject areas, possesses reasoning and / or knowledge capabilities in one or more subject areas, and / or is best suited to answer the query related to one or more subject areas; and selecting that subset of the multiple domain-specific language models to answer the query. The control language model may then direct the query to that subset of the multiple domain-specific language models to trigger that subset of the multiple domain-specific language models to answer (or attempt to answer) the query.

[0087] In some examples, each of the multiple domain-specific language models may include a neural network, such as an LLM, trained and / or configured to answer queries associated with different domains of rock physics, utilizing information about those domains. For example, each domain-specific language model may be trained and / or configured to answer queries associated with different domains of rock physics. In some cases, each neural network (e.g., each domain-specific language model) may be trained and / or configured to answer queries associated with different context-specific information, utilizing, but not limited to, tool-specific information, wellbore-specific information, use-case-specific information, etc.

[0088] In some aspects, the control language model may include a neural network (e.g., an LLM) trained using rock physics information, and each of the multiple domain-specific language models may be trained using more specific rock physics information than the control language model. For example, the control language model may be trained using general rock physics information, such as rock physics information from one or more rock physics domains (e.g., topics, subject areas, concepts, principles, use cases, etc.) that is more general (e.g., less specific, less detailed, less comprehensive, less advanced, less in-depth, higher-level, more general, etc.) than the more specific rock physics information used to train each domain-specific language model. In other words, the rock physics information used to train the control language model may be more general than the rock physics information used to train each domain-specific language model, at least with respect to the rock physics domain in which the domain-specific language model is trained / specialized.

[0089] In some aspects, any one of the control language models and / or multiple domain-specific language models may include a transformer network. In some examples, the multiple domain-specific language models may include a resistivity model configured to answer questions related to resistivity (e.g., resistivity model 212), an NMR model configured to answer questions related to NMR (e.g., NMR model 214), a porosity model configured to answer questions related to porosity (e.g., porosity model 216), a fluid contact model configured to answer questions related to fluid contact (e.g., fluid contact model 220), a permeability model configured to answer questions related to permeability (e.g., permeability model 222), a formation testing model configured to answer questions related to formation testing (e.g., formation testing model 224), and / or a continuity model configured to answer questions related to continuity (e.g., continuity model 218).

[0090] At box 706, process 700 may include sending a request for a response to a query to one or more domain-specific language models. For example, a control language model may send calls, messages, commands, and / or instructions to one or more domain-specific language models configured to trigger one or more domain-specific language models to run on a device hosting multiple domain-specific language models and generate (or attempt to generate) one or more corresponding responses to the query.

[0091] At box 708, process 700 may include generating a response to a query by a control language model based on one or more responses to the query received from one or more domain-specific language models. For example, the control language model may receive one or more query responses from one or more domain-specific language models and formulate a response using the one or more query responses by merging, summarizing, modifying, preparing information from the one or more query responses into a dialog-like response, and / or otherwise preparing the response to the query.

[0092] In some examples, the control language model may generate a response to a query based on information from one or more responses and rock physics information learned by the control language model. For example, the control language model may use information from each of one or more responses (or at least some of the responses) to generate a response that is partly based on rock physics information learned and / or determined by the control language model.

[0093] In some aspects, process 700 may include performing a corresponding lookup in a knowledge base of rock physics information (e.g., knowledge base 230) based on a query by each of one or more domain-specific language models, and generating one or more responses based on each corresponding lookup in the knowledge base of rock physics information by one or more domain-specific language models.

[0094] In some respects, one or more domain-specific language models may include a subset of domain-specific language models from a plurality of domain-specific language models, and one or more responses may include multiple responses from different domain-specific language models from the subset of domain-specific language models. In some examples, generating a response to a query may include combining information from multiple responses into a combined response.

[0095] In some aspects, the control language model may include a model configured to convert image data into text data describing the image data (e.g., multimodal model 206), and the query may include visual information (e.g., image data) collected from the well site. In some cases, the visual information may include, for example, but not limited to, visual petrophysical logging information, graphics, maps, charts, and / or other graphical information. For example, the visual information may include visual logging information obtained from logging tool 126. In some cases, the visual logging information may include indications of portions of the visual logging information relevant to the query and / or identified for consideration in conjunction with the query, such as highlighted portions of the visual logging information, comments in the visual logging information, tags in the visual logging information, metadata added to the visual logging information, annotations in the visual logging information, formatting of portions of the visual logging information, color decoding of portions of the visual logging information, etc.

[0096] In some examples, selecting one or more domain-specific language models and / or generating responses may also be based on visual information. For example, a model configured to convert image data into text data may transform visual information into text that describes, summarizes, identifies, and / or represents the visual information (and / or a portion thereof). The converted text may then be included in and / or provided together with the query to one or more domain-specific language models, which may use the converted text and any other information in the query to generate a corresponding response to the query.

[0097] In some examples, the control language model and multiple domain-specific language models may be part of a rock physics assistant (e.g., rock physics assistant 200) and may run on computing devices such as servers, computing-capable tools (e.g., logging tools, sensor systems, etc.), client devices, any edge devices, and / or any other computing devices. For example, the rock physics assistant may be compressed to run on an edge device with fewer computing resources (e.g., more computing resource constraints) than a high-end device such as a server. In some examples, the edge device may not have sufficient computing resources to run the control language model and multiple domain-specific language models simultaneously. However, by allowing the control language model to selectively route queries to a subset of the domain-specific language models, thereby triggering only a subset of the domain-specific language models to run on the edge device at any given time (e.g., for a given query / invocation), the control language model can reduce the amount of resources used on the edge device to answer queries at any given time. This, in turn, allows the edge device to run a selected subset of domain-specific language models at a given time, despite the resource constraints at the edge device, preventing errors / failures (given the resource constraints at the edge device) that would result in the edge device attempting to run all multiple domain-specific language models (or models with the size / parameters and / or functionality of all multiple domain-specific language models) simultaneously, reducing latency when running the Rock Physics Assistant (compared to running all multiple domain-specific language models simultaneously or running models with the size / parameters and / or functionality of all domain-specific language models), and so on.

[0098] Figure 8 An example computing device architecture 800 is illustrated that can be used to implement any of the systems and techniques described herein. In some examples, the computing device architecture may be integrated with the electromagnetic imager tools described herein. Furthermore, the computing device may be configured to implement the techniques described herein for controlling borehole image blending via machine learning.

[0099] The components of the computing device architecture 800 are shown to be electrically connected to each other using a connector 805 such as a bus. The example computing device architecture 800 includes a processing unit (CPU or processor) 810 and a computing device connector 805 that couples various computing device components, including computing device memories 815 (such as read-only memory (ROM) 820 and random access memory (RAM) 825), to the processor 810.

[0100] The computing device architecture 800 may include a cache of high-speed memory that is directly connected to, close to, or integrated as part of the processor 810. The computing device architecture 800 may copy data from memory 815 and / or storage device 830 to cache 812 for fast access by the processor 810. In this way, the cache can provide performance improvements by avoiding latency for the processor 810 while waiting for data. These and other modules may control or be configured to control the processor 810 to perform various actions. Other computing device memory 815 may also be used. Memory 815 may include various different types of memory with different performance characteristics. The processor 810 may include any general-purpose processor and hardware or software services, such as services 1 832, service 2 834, and service 3 836 stored in storage device 830, which are configured to control the processor 810 and dedicated processors in which software instructions are incorporated into the processor design. The processor 810 may be a standalone system containing multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric.

[0101] To enable user interaction with the computing device architecture 800, input device 845 can represent any number of input mechanisms, such as a microphone for voice, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, voice input, etc. Output device 835 can also be one or more of a variety of output mechanisms known to those skilled in the art, such as a display, projector, television, speaker equipment, etc. In some cases, multimodal computing devices allow users to provide multiple types of input to communicate with the computing device architecture 800. Communication interface 840 typically controls and manages user input and computing device output. There are no limitations on operation on any particular hardware arrangement, therefore the basic hardware described herein can be easily replaced with improved hardware or firmware arrangements during their development.

[0102] Storage device 830 is a non-volatile memory and may be a hard disk or other type of computer-readable medium capable of storing data accessible by a computer, such as magnetic tape cassettes, flash memory cards, solid-state storage devices, digital versatile optical discs, magnetic tape cassettes, random access memory (RAM) 825, read-only memory (ROM) 820, and combinations thereof. Storage device 830 may include services 832, 834, 836 for controlling processor 810. Other hardware or software modules are contemplated. Storage device 830 may be connected to computing device connector 805. In one aspect, a hardware module performing a specific function may include software components stored in a computer-readable medium that combine with necessary hardware components, such as processor 810, connector 805, output device 835, etc., to perform that function.

[0103] For clarity, in some cases, the present invention may be presented as including a single functional block comprising a device, device component, step, or routine in a method implemented as software or a combination of hardware and software.

[0104] In some cases, computer-readable storage devices, media, and memories may include wired or wireless signals containing bit streams, etc. However, by reference, non-transitory computer-readable storage media explicitly exclude media such as energy, carrier signals, electromagnetic waves, and the signals themselves.

[0105] The methods described in the examples above can be implemented using computer-executable instructions stored in or otherwise available from computer-readable media. Such instructions may include, for example, instructions and data that cause a general-purpose computer, special-purpose computer, or processing device to perform a function or set of functions, or otherwise configure a general-purpose computer, special-purpose computer, or processing device to perform a function or set of functions. Parts of the computer resources used may be accessible via a network. Computer-executable instructions may be, for example, binary files, intermediate format instructions such as assembly language, firmware, source code, etc. Examples of computer-readable media that can be used to store instructions, information used, and / or information created during the methods according to the described examples include disks or optical discs, flash memory, USB devices equipped with non-volatile memory, networked storage devices, etc.

[0106] Devices implementing the methods disclosed herein may include hardware, firmware, and / or software, and may take the form of any of a variety of form factors. Typical examples of such form factors include laptops, smartphones, small form factor personal computers, personal digital assistants, rack-mount devices, standalone devices, etc. The functionality described herein may also be embodied in external devices or add-on cards. By further example, such functionality may also be implemented on circuit boards of different chips or in different processes executed on a single device.

[0107] Instructions, media for transmitting such instructions, computing resources for executing such instructions, and other structures for supporting such computing resources are all exemplary ways of providing the functionality described in this disclosure.

[0108] In the foregoing description, various aspects of this application have been described with reference to specific examples and their aspects; however, those skilled in the art will recognize that this application is not limited thereto. Therefore, while illustrative examples and aspects of this application have been described in detail herein, it should be understood that the disclosed concepts may be embodied and employed in other ways differently, and the appended claims are intended to be construed as including such variations unless limited by prior art. Various features and aspects of the foregoing subject matter may be used alone or in combination. Furthermore, without departing from the broader spirit and scope of this specification, examples and aspects of the systems and techniques described herein may be used in any number of environments and applications beyond those described herein. Therefore, the specification and drawings are to be considered illustrative and not restrictive. For illustrative purposes, methods are described in a particular order. It should be understood that in alternative examples, methods may be performed in a different order than described.

[0109] When a component is described as being “configured” to perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operations, by programming programmable electronic circuits (e.g., microprocessors or other suitable electronic circuits) to perform the operations, or any combination thereof.

[0110] The various exemplary logic blocks, modules, circuits, and algorithm steps described in conjunction with the examples disclosed herein can be implemented as electronic hardware, computer software, firmware, or combinations thereof. To clearly illustrate this interchangeability between hardware and software, the various exemplary components, blocks, modules, circuits, and steps have been generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Skilled artisans can implement the described functionality in different ways for each specific application, but such implementation decisions should not be construed as departing from the scope of this disclosure.

[0111] The techniques described herein can also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques can be implemented in any of a variety of devices, such as general-purpose computers, wireless communication devices (mobile phones), or multi-purpose integrated circuit devices, including applications in wireless communication devices (mobile phones) and other devices. Any feature described as a module or component can be implemented together in an integrated logic device or separately as a discrete but interoperable logic device. If implemented in software, the technology can be implemented at least in part through a computer-readable data storage medium containing program code that includes instructions for performing one or more of the methods, algorithms, and / or operations described above when executed. The computer-readable data storage medium can form part of a computer program product that may include encapsulation material.

[0112] Computer-readable media may include memory or data storage media, such as random access memory (RAM), such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, etc. Additionally or alternatively, the technology may be implemented at least in part by a computer-readable communication medium that carries or conveys program code, in the form of instructions or data structures, that can be accessed, read, and / or executed by a computer, such as propagated signals or waves.

[0113] The methods and apparatus disclosed herein can be practiced in networked computing environments with many types of computer system configurations, including personal computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, microcomputers, mainframes, etc. Such methods can also be practiced in distributed computing environments, where tasks are performed by local and remote processing devices linked via a communication network (via hardwired links, wireless links, or a combination thereof). In a distributed computing environment, program modules can reside on both local and remote memory storage devices.

[0114] In the above description, terms such as “upper,” “upward,” “lower,” “downward,” “above,” “below,” “downhole,” “above,” “longitudinal,” and “lateral” as used herein shall mean relative to the bottom or furthest extent of the surrounding wellbore, even if the wellbore or portions thereof may be skewed or horizontal. Accordingly, orientations such as lateral, axial, sideways, longitudinal, and radial shall mean orientations relative to the orientation of the wellbore or tool.

[0115] The term "coupled" is defined as a connection, whether direct or indirect through intermediate components, and is not necessarily limited to a physical connection. A connection can permanently or releasably link objects. The term "external" refers to the region extending beyond the outermost boundary of a physical object. The term "internal" indicates that at least a portion of a region is partially contained within the boundary formed by the object. The term "substantially" is defined as substantially conforming to a particular size, shape, or other word modified by "substantially," such that the component need not be precise. For example, "substantially cylindrical" means that the object resembles a cylinder but may have one or more deviations from a true cylinder.

[0116] The term "radial" refers to a direction substantially along the radius of the object, or a direction having a directional component along the radius of the object, even if the object is not precisely circular or cylindrical. The term "axial" refers to a direction substantially along the axis of the object. If not specified, the term "axial" refers to the longer axis of the object.

[0117] Although various information has been used to interpret aspects within the scope of the appended claims, limitations on the claims should not be implied based on specific features or arrangements, as a person skilled in the art will be able to derive a wide variety of specific implementations. Furthermore, although some subjects may have been described in language specific to structural features and / or method steps, it should be understood that the subjects defined in the appended claims are not necessarily limited to these described features or actions. Such functions may be distributed differently or performed in components other than those identified herein. The described features and steps are disclosed as possible components of systems and methods within the scope of the appended claims.

[0118] The terms "at least one" and / or "one or more" in the set of claims language or other language statements in this disclosure indicate that one member of the set or multiple members of the set (in any combination) satisfy the claims. For example, the claim language statement "at least one of A and B" or "at least one of A or B" means A, B, or A and B. In another example, the claim language statement "at least one of A, B, and C" or "at least one of A, B, or C" means A, B, and C; or A and B; or A and C; or B and C; or A and B and C. The terms "at least one" and / or "one or more" in the language set do not limit the set to items listed in the set. For example, the claim language statement "at least one of A and B" or "at least one of A or B" may mean A, B, or A and B, and may additionally include items not listed in the set of A and B.

[0119] The exemplary aspects of this disclosure include: Aspect 1. A method comprising: receiving a query relating to one or more subject domains by a control language model configured to perform natural language processing; selecting one or more domain-specific language models from a plurality of domain-specific language models to answer the query based on the one or more subject domains associated with the query and corresponding domain-specific knowledge from each of the domain-specific language models; sending a request to the one or more domain-specific language models to answer the query; and generating a response to the query by the control language model based on one or more responses to the query received from the one or more domain-specific language models.

[0120] Aspect 2. The method according to aspect 1, wherein each of the plurality of domain-specific language models includes a neural network trained with information about different domains of rock physics and configured to answer at least one of queries associated with said different domains of rock physics.

[0121] Aspect 3. The method according to any one of Aspect 1 or 2, wherein each of the plurality of domain-specific language models includes a neural network trained with different context-specific information and configured to answer at least one of queries associated with the different context-specific information, wherein the different context-specific information includes at least one of tool-specific information and well-specific information.

[0122] Aspect 4. The method according to any one of Aspects 1 to 3, wherein the control language model is trained using rock physics information, and each domain-specific language model from the plurality of domain-specific language models is trained using more specific rock physics information than the control language model.

[0123] Aspect 5. The method according to any one of Aspects 1 to 4, wherein the response to the query is generated based on information from the one or more responses and rock physics information learned by the control language model to generate the response.

[0124] Aspect 6. The method according to any one of Aspects 1 to 5, wherein the one or more domain-specific language models include a subset of domain-specific language models from the plurality of domain-specific language models, and the one or more responses include a plurality of responses from different domain-specific language models from the subset of domain-specific language models, and wherein generating the response to the query includes combining information from the plurality of responses into a combined response.

[0125] Aspect 7. The method according to any one of Aspects 1 to 6, wherein the control language model further comprises a model configured to convert image data into text data describing the image data, wherein the query includes visual information collected from the well site, and wherein selecting at least one of the one or more domain-specific language models and generating the response is also based on the visual information.

[0126] Aspect 8. The method according to aspect 7, wherein the visual information includes at least one of rock physical logging information, rock physical maps, rock physical charts, and rock physical images.

[0127] Aspect 9. The method according to any one of Aspects 1 to 8, wherein at least one of the control language model and one or more of the plurality of domain-specific language models includes a converter network, and wherein the plurality of domain-specific language models includes at least one of the following: a resistivity model configured to answer questions related to resistivity, an NMR model configured to answer questions related to nuclear magnetic resonance (NMR), a porosity model configured to answer questions related to porosity, a fluid contact model configured to answer questions related to fluid contact, a permeability model configured to answer questions related to permeability, a formation testing model configured to answer questions related to formation testing, and a continuity model configured to answer questions related to continuity.

[0128] Aspect 10. The method according to any one of Aspects 1 to 9, further comprising: performing a corresponding lookup in a rock physics information knowledge base by each of the one or more domain-specific language models based on the query; and generating the one or more responses by the one or more domain-specific language models based on each corresponding lookup in the rock physics information knowledge base.

[0129] Aspect 11. A system comprising: a memory; and one or more processors coupled to the memory, the one or more processors being configured to: receive a query relating to one or more subject domains by a control language model configured to perform natural language processing; select one or more domain-specific language models from the plurality of domain-specific language models to answer the query based on the one or more subject domains associated with the query and corresponding domain-specific knowledge from each of the plurality of domain-specific language models; send a request to the one or more domain-specific language models to answer the query; and generate a response to the query by the control language model based on one or more responses to the query received from the one or more domain-specific language models.

[0130] Aspect 12. The system according to aspect 11, wherein each of the plurality of domain-specific language models includes a neural network trained with information about different domains of rock physics and configured to answer at least one of queries associated with said different domains of rock physics.

[0131] Aspect 13. The system according to any one of Aspects 11 or 12, wherein each of the plurality of domain-specific language models includes a neural network trained with different context-specific information and configured to answer at least one of queries associated with the different context-specific information, wherein the different context-specific information includes at least one of tool-specific information and wellbore-specific information.

[0132] Aspect 14. The system according to any one of Aspects 11 to 13, wherein the control language model is trained using rock physics information, and each domain-specific language model from the plurality of domain-specific language models is trained using more specific rock physics information than the control language model.

[0133] Aspect 15. The system according to any one of Aspects 11 to 14, wherein the response to the query is generated based on information from the one or more responses and rock physics information learned by the control language model to generate the response.

[0134] Aspect 16. The system according to any one of Aspects 11 to 15, wherein the one or more domain-specific language models comprise a subset of domain-specific language models from the plurality of domain-specific language models, and the one or more responses comprise a plurality of responses from different domain-specific language models from the subset of domain-specific language models, and wherein generating the response to the query comprises combining information from the plurality of responses into a combined response.

[0135] Aspect 17. The system according to any one of Aspects 11 to 16, wherein the control language model further includes a model configured to convert image data into text data describing the image data, wherein the query includes visual information collected from the well site, wherein selecting at least one of the one or more domain-specific language models and generating the response is also based on the visual information.

[0136] Aspect 18. The system according to aspect 17, wherein the visual information includes at least one of rock physics logging information, rock physics maps, rock physics charts, and rock physics images.

[0137] Aspect 19. The system according to any one of Aspects 11 to 18, wherein at least one of the control language model and one or more of the plurality of domain-specific language models includes a converter network, and wherein the plurality of domain-specific language models includes at least one of the following: a resistivity model configured to answer questions related to resistivity, an NMR model configured to answer questions related to nuclear magnetic resonance (NMR), a porosity model configured to answer questions related to porosity, a fluid contact model configured to answer questions related to fluid contact, a permeability model configured to answer questions related to permeability, a formation testing model configured to answer questions related to formation testing, and a continuity model configured to answer questions related to continuity.

[0138] Aspect 20. The system according to any one of Aspects 11 to 19, wherein the one or more processors are further configured to: perform a corresponding lookup in a rock physics information knowledge base by each of the one or more domain-specific language models based on the query; and generate the one or more responses by the one or more domain-specific language models based on each corresponding lookup in the rock physics information knowledge base.

[0139] Aspect 21. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to any one of Aspects 1 to 10.

[0140] Aspect 22. A system comprising components for performing the method according to any one of aspects 1 to 10.

[0141] Aspect 23. A computer program product comprising instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform the method according to any one of Aspects 1 to 10.

Claims

1. A method comprising: A control language model configured to perform natural language processing receives queries relating to one or more subject areas; Based on the one or more topic domains associated with the query and the corresponding domain-specific knowledge from each of the multiple domain-specific language models, one or more domain-specific language models are selected from the multiple domain-specific language models to answer the query; Send a request for an answer to the query to one or more domain-specific language models; as well as The control language model generates a response to the query based on one or more responses to the query received from the one or more domain-specific language models.

2. The method of claim 1, wherein each of the plurality of domain-specific language models includes a neural network trained with information about different domains of rock physics and configured to answer at least one of queries associated with said different domains of rock physics.

3. The method of claim 1, wherein each of the plurality of domain-specific language models includes a neural network trained with different context-specific information and configured to answer at least one of queries associated with the different context-specific information, wherein the different context-specific information includes at least one of tool-specific information and wellbore-specific information.

4. The method of claim 1, wherein the control language model is trained using rock physics information, and each domain-specific language model from the plurality of domain-specific language models is trained using more specific rock physics information than the control language model.

5. The method of claim 1, wherein the response to the query is generated based on information from the one or more responses and rock physics information learned by the control language model to generate the response.

6. The method of claim 1, wherein the one or more domain-specific language models comprise a subset of domain-specific language models from the plurality of domain-specific language models, and the one or more responses comprise a plurality of responses from different domain-specific language models from the subset of domain-specific language models, and wherein generating the response to the query comprises combining information from the plurality of responses into a combined response.

7. The method of claim 1, wherein the control language model further comprises a model configured to convert image data into text data describing the image data, wherein the query includes visual information collected from the well site, and wherein selecting at least one of the one or more domain-specific language models and generating the response is also based on the visual information.

8. The method of claim 7, wherein the visual information includes at least one of rock physics logging information, rock physics maps, rock physics charts, and rock physics images.

9. The method of claim 1, wherein at least one of the control language model and one or more of the plurality of domain-specific language models comprises a converter network, and wherein the plurality of domain-specific language models comprises at least one of the following: a resistivity model configured to answer questions related to resistivity, an NMR model configured to answer questions related to nuclear magnetic resonance (NMR), a porosity model configured to answer questions related to porosity, a fluid contact model configured to answer questions related to fluid contact, a permeability model configured to answer questions related to permeability, a formation testing model configured to answer questions related to formation testing, and a continuity model configured to answer questions related to continuity.

10. The method of claim 1, further comprising: Based on the query, each of the one or more domain-specific language models performs a corresponding lookup in the rock physics information knowledge base; as well as The one or more responses are generated from the one or more domain-specific language models, based on each corresponding lookup in the rock physics information knowledge base.

11. A system comprising: Memory; as well as One or more processors coupled to the memory, the one or more processors being configured to: A control language model configured to perform natural language processing receives queries relating to one or more subject areas; Based on the one or more topic domains associated with the query and the corresponding domain-specific knowledge from each of the multiple domain-specific language models, one or more domain-specific language models are selected from the multiple domain-specific language models to answer the query; Send a request for an answer to the query to one or more domain-specific language models; as well as The control language model generates a response to the query based on one or more responses to the query received from the one or more domain-specific language models.

12. The system of claim 11, wherein each of the plurality of domain-specific language models includes a neural network trained with information about different domains of rock physics and configured to answer at least one of queries associated with said different domains of rock physics.

13. The system of claim 11, wherein each of the plurality of domain-specific language models includes a neural network trained with different context-specific information and configured to answer at least one of queries associated with the different context-specific information, wherein the different context-specific information includes at least one of tool-specific information and wellbore-specific information.

14. The system of claim 11, wherein the control language model is trained using rock physics information, and each domain-specific language model from the plurality of domain-specific language models is trained using more specific rock physics information than the control language model.

15. The system of claim 11, wherein the response to the query is generated based on information from the one or more responses and rock physics information learned by the control language model to generate the response.

16. The system of claim 11, wherein the one or more domain-specific language models comprise a subset of domain-specific language models from the plurality of domain-specific language models, and the one or more responses comprise a plurality of responses from different domain-specific language models from the subset of domain-specific language models, and wherein generating the response to the query comprises combining information from the plurality of responses into a combined response.

17. The system of claim 11, wherein the control language model further comprises a model configured to convert image data into text data describing the image data, wherein the query includes visual information collected from the well site, wherein selecting at least one of the one or more domain-specific language models and generating the response is also based on the visual information, wherein the visual information includes at least one of rock physics logging information, rock physics maps, rock physics charts, and rock physics images.

18. The system of claim 11, wherein at least one of the control language model and one or more of the plurality of domain-specific language models comprises a converter network, and wherein the plurality of domain-specific language models comprises at least one of: a resistivity model configured to answer questions related to resistivity, an NMR model configured to answer questions related to nuclear magnetic resonance (NMR), a porosity model configured to answer questions related to porosity, a fluid contact model configured to answer questions related to fluid contact, a permeability model configured to answer questions related to permeability, a formation testing model configured to answer questions related to formation testing, and a continuity model configured to answer questions related to continuity.

19. The system of claim 11, wherein the one or more processors are further configured to: Based on the query, each of the one or more domain-specific language models performs a corresponding lookup in the rock physics information knowledge base; and The one or more responses are generated from the one or more domain-specific language models, based on each corresponding lookup in the rock physics information knowledge base.

20. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: A control language model configured to perform natural language processing receives queries relating to one or more subject areas; Based on the one or more topic domains associated with the query and the corresponding domain-specific knowledge from each of the multiple domain-specific language models, one or more domain-specific language models are selected from the multiple domain-specific language models to answer the query; Send a request for an answer to the query to one or more domain-specific language models; as well as The control language model generates a response to the query based on one or more responses to the query received from the one or more domain-specific language models.