├── .gitignore ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LLM for Phd 2 | 3 | Examples and instructions about use LLMs (especially ChatGPT) for PhD. Will add more features gradually. 4 | Feel feel to contribute to this project! 5 | 6 | ## Example 0: GPT-3.5 vs GPT-4 7 | 8 | > ChatGPT, introduce yourself to CS PhD students briefly! 9 | 10 | (GPT 3.5) Hello, I am ChatGPT, a large language model created by OpenAI based on the GPT-3 architecture. I am designed to understand and generate human-like language and I have been trained on a diverse set of texts, including books, articles, and websites. My goal is to provide helpful and informative responses to your questions to the best of my abilities. 11 | 12 | (GPT-4) Hello **CS PhD students**! I am ChatGPT, a large-scale artificial intelligence language model developed by OpenAI, based on the GPT-4 architecture. My primary function is to understand and generate human-like text in response to a wide range of prompts. I can assist you with **research, programming, problem-solving, and many other aspects of your PhD journey**. My knowledge is up-to-date until September 2021, but I'm eager to help you explore and learn together. Feel free to ask any questions or seek guidance on your projects, and let's collaborate to advance your studies! 13 | 14 | **Conclusion**: GPT-4 follows instructions much better than GPT-3.5. We will see more examples later. 15 | 16 | ## Example 1: Clarifying complex concepts with relatable examples 17 | 18 | ### Meme-like example 19 | 20 | Q: please explain Quantum physics with taco examples 21 | 22 | (GPT-4) Quantum physics is a branch of physics that studies the behavior of matter and energy at very small scales, such as atoms and subatomic particles. To explain quantum physics using taco examples, let's first assign some elements of a taco to different aspects of quantum physics: 23 | 24 | Taco shell: Represents the boundary or the quantum system. 25 | Taco fillings: Represents the particles within the quantum system. 26 | Different combinations of fillings: Represents the different quantum states the particles can be in. 27 | Now, let's explore a few key concepts in quantum physics using our taco analogy: 28 | 29 | ... 30 | 31 | ### Something you are familiar with, but you forget the details 32 | 33 | Q1: explain why we need daemon process in linux, what's its usage 34 | 35 | (GPT-4) In Linux, a daemon is a background process that runs without direct user interaction, typically performing specific tasks or services. Daemons are essential for various reasons and have multiple uses in a Linux system: 36 | 37 | 1. ... 38 | 2. ... 39 | 40 | Q2: how to create a daemon process 41 | 42 | (GPT-4) Creating a daemon process in Linux typically involves the following steps: 43 | 44 | 1. Fork the process: ... 45 | 2. Create a new session and process group: ... 46 | 3. Set the working directory: ... 47 | 4. Reset the file mode creation mask: ... 48 | 5. Close standard file descriptors: ... 49 | 6. Implement the daemon functionality: ... 50 | 7. Handle signals: ... 51 | 52 | ### Something you have little knowledge 53 | 54 | Q1: please explain aws sts:AssumeRole 55 | 56 | (GPT-3.5) AWS Security Token Service (STS) is a service that enables you to grant temporary access to AWS resources to users or applications that don't normally have access to them. One way to grant temporary access is by using the AssumeRole API. 57 | 58 | ... 59 | 60 | (GPT-3.5) Q2: give me an example 61 | 62 | Sure, here's an example of how the AssumeRole API can be used in AWS: 63 | 64 | Let's say you have two AWS accounts, Account A and Account B. Account A has an S3 bucket that contains sensitive data, and you want to give a developer in Account B temporary access to that bucket for a specific project. However, you don't want to give the developer permanent access to the bucket. 65 | 66 | ... 67 | 68 | (AWS documentation) Returns a set of temporary security credentials that you can use to access AWS resources. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide. 69 | 70 | Permissions 71 | 72 | The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations. 73 | 74 | **Conclusion**: 75 | 76 | 1. I really do not expect ChatGPT would explain QM with tacos in a reasonable way. However, it did a good job, and I cannot be better than it (I am familiar with QM). 77 | 2. I know daemon process, but creating it is actually non-trivial, it is more than just forking and exit the parent process. ChatGPT explains the whole process end-to-end, which is super efficient and easy to understand. 78 | 3. AWS doc explains a concept with a lot more concepts, which makes me scratch my head. ChatGPT generates a much understandable answer with *approachable* words, and it generates an example that helps you understand the concept really well. 79 | 80 | 81 | ## Example 2: Effortlessly extracting keywords from casual conversations 82 | 83 | Q1: What's the field of study about the initial job arrival distribution? 84 | 85 | (GPT-3.5): (something about job market) 86 | 87 | Q2: (context: computer science) What's the field of study about the initial job arrival distribution? 88 | 89 | (GPT-3.5): The field of study that deals with the initial job arrival distribution in computer science is known as queuing theory. Queuing theory is the mathematical study of waiting lines, or queues, that arise in various real-world situations, including computer systems. 90 | 91 | ... 92 | 93 | Q3: is there something called "arrival theory"? 94 | 95 | (GPT-3.5): I am not aware of a field of study called "arrival theory" in computer science or related fields. However, the term "arrival process" is commonly used in queuing theory and related fields to refer to the pattern or distribution of job arrivals in a system. 96 | 97 | The arrival process can be described by various statistical distributions, such as Poisson, exponential, or Weibull distributions. The characteristics of the arrival process, such as the mean arrival rate, variance, and autocorrelation, can significantly impact the performance of a queuing system. 98 | 99 | ... 100 | 101 | Q4: explain "Weibull distributions" to me 102 | 103 | (GPT-3.5): Weibull distribution is a continuous probability distribution widely used in reliability engineering to model the failure rates of systems over time. It is named after Waloddi Weibull, who first proposed this distribution in 1951. 104 | 105 | The Weibull distribution has two parameters: the shape parameter, denoted by k, and the scale parameter, denoted by λ. The probability density function (PDF) of the Weibull distribution is given by: 106 | 107 | f(x) = (k/λ) * (x/λ)^(k-1) * e^(-(x/λ)^k) 108 | 109 | where x is the random variable and e is the base of the natural logarithm. 110 | 111 | ... 112 | 113 | Q5: it sounds like gamma process 114 | 115 | (GPT-3.5): (wrong answer, they are not related in the way that ChatGPT considered) 116 | 117 | 118 | **Conclusion**: 119 | 120 | 1. When ChatGPT fail to answer your question, simply add more context. 121 | 2. You ChatGPT can come up with the termilology from vauge descriptions. Google search actually also works sometimes. 122 | 3. However, you can keep the conversation with ChatGPT, and learn something new with this new termilology, w/o another search, so it is more convenient and consistent 123 | 4. ChatGPT could give wrong answers. Here I can understand why (Q5). Both Weibull & Gamma distribution is related to a version which their paramaters are whole numbers. But this does not mean Weibull turns into Gamma distribution when its parameters are whole numbers. ChatGPT only find the correlation, but logically this is wrong. 124 | 125 | 126 | ## Example 3: Crafting stunning WebUI designs for the design-challenged 127 | 128 | Here is how I design a web page template including a nice table for displaying data items, iteratively: 129 | 130 | Q1: please generate an Jinja2 html template with a two-column table and basic styles 131 | 132 | (GPT-3.5): Sure! Here's an example Jinja2 HTML template that creates a two-column table with some basic styling: 133 | 134 | ... (it is a page with 2 column, one table per column) 135 | 136 | Q2: I only need a single table, but the table has two columns 137 | 138 | (GPT-3.5): No problem! Here's an example Jinja2 HTML template that creates a single table with two columns: 139 | 140 | ... (nice) 141 | 142 | Q3: add more fancy styles 143 | 144 | (GPT-3.5): ... 145 | 146 | Q4: further decorate the table header 147 | 148 | (GPT-3.5): ... 149 | 150 | Q5: add one column for the table 151 | 152 | (GPT-3.5): ... 153 | 154 | Q6: add a nag bar that returns to homepage with a "homepage" icon button in the nav bar 155 | 156 | (GPT-3.5): ... (ChatGPT knows it is a "nav" bar, not "nag") 157 | 158 | Q7: you missed the "fa-home" css class 159 | 160 | (GPT-3.5): My apologies! You are correct. Here's the updated code snippet with the missing "fa-home" CSS class added: 161 | 162 | ... 163 | 164 | **Conclusion**: 165 | 166 | So what's happening here? 167 | 168 | From my observation most PhDs have no idea of how to design a web page from scratch. But they can understand the HTML and stylesheet etc. 169 | 170 | ChatGPT can generate a web page from scratch, but often with some issues. So it is good to start with a simple design and improve it iteratively. Use instructions to alter the design or fix the bug. 171 | 172 | However, you have to know what ChatGPT is capable of generating. In the end, it adds the missing "fa-home" CSS class (ref link to css script). It includes a SHA-sum of that script for web security. You should understand ChatGPT cannot get them correct under most of the cases, because these shasum are quite random and do not follow typical rules of natural language. I figured out the shasum manually, then this web page works. 173 | 174 | 175 | ## Example 4: Creating natural language-based interactive UIs for seamless project integration 176 | 177 | What I do is writing a prompt for SkyPilot, a project I am working on: 178 | 179 | ------- 180 | 181 | You will help the user using a commandline tool called SkyPilot. All topics are related to SkyPilot by default. 182 | You should output the corresponding (do not include unnecessary or default arguments, and always display full argument name ("--" instead of "-")) commandline with SkyPilot according to user's demand. 183 | Surround your output commandline like (with newlines before and after the block): 184 | 185 | ``` 186 | 187 | {your_output_commandline} 188 | 189 | ``` 190 | 191 | Some background for you: 192 | 193 | SkyPilot is a framework for easily and cost effectively running ML workloads1 on any cloud. 194 | 195 | SkyPilot abstracts away the cloud infra burden: 196 | 197 | * Launch jobs & clusters on any cloud (AWS, Azure, GCP, Lambda Cloud) 198 | * Find scarce resources across zones/regions/clouds 199 | * Queue jobs & use cloud object stores. 200 | 201 | Here are some docs for SkyPilot commandline. You should follow them strictly and do not make up new options: 202 | 203 | Usage: sky [OPTIONS] COMMAND [ARGS]... 204 | 205 | Options: 206 | --install-shell-completion [bash|zsh|fish|auto] 207 | Install shell completion for the specified shell. 208 | --uninstall-shell-completion [bash|zsh|fish|auto] 209 | Uninstall shell completion for the specified shell. 210 | -v, --version Show the version and exit. 211 | -h, --help Show this message and exit. 212 | 213 | ... (more docs) 214 | 215 | 216 | ------- 217 | 218 | Although this is very rough, this enables a NUI (natural language user interface) for Skypilot, which works pretty well. 219 | 220 | Here is a real example with SkyPilot NUI: 221 | 222 | Q1: hey, give me some cpus 223 | 224 | (SkyPilot): To launch an interactive CPU node, you can use the `sky cpunode` command. Here's an example command to launch a default cpunode: 225 | 226 | ``` 227 | 228 | sky cpunode 229 | 230 | ``` 231 | 232 | By default, this will launch a new cluster with an auto-generated name. If you want to name the cluster yourself, you can use the `-c` option followed by the name you want. For example: 233 | 234 | ``` 235 | 236 | sky cpunode -c my_cluster_name 237 | 238 | ``` 239 | 240 | You can also specify the number of CPUs each instance must have by using the `--cpus` option followed by the number. For example: 241 | 242 | ``` 243 | 244 | sky cpunode --cpus=4 245 | 246 | ``` 247 | 248 | This will launch an interactive node with 4 vCPUs. 249 | 250 | Q2: use google cloud please 251 | 252 | (SkyPilot): Sure. To launch an interactive CPU node on Google Cloud, you can specify `gcp` as the cloud provider using the `--cloud` option. Here's an example command to launch an interactive CPU node with 4 vCPUs on GCP: 253 | 254 | ``` 255 | 256 | sky cpunode --cloud gcp --cpus=4 257 | 258 | ``` 259 | 260 | By default, this will launch a new cluster in the us-west1 region with an auto-generated name. You can specify a different region using the `--region` option followed by the region name, such as `us-central1`. For example: 261 | 262 | ``` 263 | 264 | sky cpunode --cloud gcp --cpus=4 --region us-central1 265 | 266 | ``` 267 | 268 | If you want to name the cluster yourself, you can use the `-c` option followed by the name you want. For example: 269 | 270 | ``` 271 | 272 | sky cpunode --cloud gcp --cpus=4 --region us-central1 -c my_cluster_name 273 | 274 | ``` 275 | 276 | **Conclusion**: It amazes my labmates & advisors. 277 | 278 | 279 | ## Example 5: Demystifying paper reviews during rebuttal to bolster student comprehension 280 | 281 | Q1: Do not discuss the paper, but summarize the requirements (e.g., what is a good paper) of OSDI conference from these following reviewer comments: 282 | 283 | (... reviewer comments) 284 | 285 | (GPT-4): The OSDI conference requires a good paper to: 286 | 287 | 1. ... 288 | 2. ... 289 | 290 | 291 | Q2: Which are the most vague requirements? 292 | 293 | (GPT-4): The most vague requirements are: 294 | 295 | 1. Clearly present the requirements of the problem being addressed, such as ... 296 | 2. Provide concrete examples with ... 297 | 3. ... 298 | 299 | Q3: Summarize the common points of reviewers' comments 300 | 301 | (GPT-4): The common points in the reviewers' comments include: 302 | 303 | 1. The importance of the problem: Both reviewers recognize the significance of ... 304 | 2. Lack of clarity in the paper: Both reviewers mention that the paper lacks a clear and focused explanation of the problem and the proposed solution, and they suggest providing concrete examples and a more detailed ... 305 | 3. Evaluation concerns: The reviewers express concerns about the evaluation, mentioning the need for a focus on end-to-end ... 306 | 4. Novelty and implementation details: Both reviewers question the novelty of the proposed system and suggest providing more details on the implementation. 307 | 5. Paper structure and conclusion: Both reviewers mention that the paper's structure could be improved for better readability, and they point out the absence of ... 308 | 309 | **Conclusion**: 310 | 311 | ChatGPT can summarize some high-level comments, but it will not be too useful about coming up with concrete suggestions for a solid rebuttal. However, after GPT-4 (32k context) comes out, we may be able to perform end-to-end rebuttal writing (paper + reviews -> detailed suggestions). 312 | 313 | ## Example 6: Elevating student paper-writing prowess and deepening understanding of academic literature 314 | 315 | ### Task 1: Sentence-level correction 316 | 317 | Q: output a list of most poorly written sentences (logically inconsistent, grammar errors, vague, not connected well with previous sentence, etc.) when reading the introduction part of the paper until the end, and explain why for each of them, and also show the corrections: 318 | 319 | (... paper introduction section) 320 | 321 | (GPT-3.5) I'm sorry, but I cannot identify any poorly written sentences in this passage. The passage is well-written, clear, and coherent. It explains the tradeoffs between two popular categories of distributed execution engines and discusses the pros and cons of each. The author provides examples to illustrate their points and explains the benefits and drawbacks of each approach. The passage also uses technical language that is appropriate for the subject matter. 322 | 323 | (GPT-4): 324 | 325 | 1. Poorly written sentence: "If each task ..." 326 | 327 | Explanation: The phrasing "..." is grammatically incorrect and unclear. The intention is to say that the system guarantees ... by ensuring ... 328 | 329 | Correction: "If each task ... " (add the missing word) 330 | 331 | 2. ... 332 | 333 | ### Task 2: Dive into the paper 334 | 335 | Q1: output (1) an outline of concrete content that does not contain any logical structure (2) the key logical structure with only high-level concepts when reading the introduction part of the paper until you reach the end. also leave comments for both of them: 336 | 337 | (... paper introduction section) 338 | 339 | (GPT-4): 340 | 341 | 1. Outline of concrete content without logical structure: 342 | 343 | * ... examples: ... 344 | * Problem: ... 345 | * Solution: ... 346 | * Layered architecture: ... 347 | * ... 348 | 349 | 2. Key logical structure with high-level concepts: 350 | 351 | 1. (... story) 352 | 2. Key insight: ... 353 | 3. Solution: design a ... 354 | 4. Demonstrate the utility of ... 355 | 356 | Comments: 357 | 358 | 1. The outline without logical structure is a useful summary of the content, but it is difficult to understand the main argument and flow of ideas without the logical connections between the concepts. 359 | 360 | 2. The key logical structure with high-level concepts provides a clear and concise understanding of the main argument and ideas presented in the introduction. This structure helps to guide the reader through the content and demonstrates the importance and utility of the proposed solution. 361 | 362 | Q2: try to optimize the previous logical structure (you are feel to change the order, remove items or add new items), and explain what's the difference between two structures and why 363 | 364 | (GPT-4): Optimized key logical structure with high-level concepts: 365 | 366 | ... 367 | 368 | Explanation of differences: 369 | 370 | The original logical structure provided a clear understanding of the main argument and ideas. However, the optimized version further refines the structure to improve readability and coherence. 371 | 372 | 1. The order of concepts has been adjusted to create a more natural flow of ideas. ... 373 | 2. The optimized structure reduces redundancy by merging related concepts. For example, the original structure had separate points for the challenge of composing applications and the problem of ... The optimized version combines these concepts into a single point, highlighting the challenge of guaranteeing ... 374 | 3. The optimized structure emphasizes the key insight and proposed solution more clearly, helping the reader to understand the importance of the ... 375 | 376 | Overall, the optimized logical structure is more concise and coherent, which helps the reader to better grasp the main argument and ideas presented in the introduction. 377 | 378 | Q3: compose a new introduction section, based on the optimized logical structure and including ALL concrete content in the concrete content outline. 379 | 380 | (GPT-4) 381 | 382 | Introduction: (...) 383 | 384 | 385 | **Conclusion**: 386 | 387 | Quite useful. 388 | --------------------------------------------------------------------------------